Docker学习(二)——Docker容器使用
Docker容器使用
1、Docker客户端
命令docker可以查看到Docker客户端的所有命令选项。
命令docker command --help更深入的了解指定的Docker命令使用方法。
2、容器使用
(1)获取镜像:docker pull 镜像
如果我们本地没有ubuntu镜像,我们可以使用docker pull命令来载入ubuntu镜像:docker pull ubuntu
(2)创建并运行容器:docker run 镜像
使用ubuntu镜像启动一个容器,参数为以命令行模式进入该容器:docker run -it ubuntu /bin/bash
参数说明:
-i: 交互式操作。
-t: 终端。
ubuntu: ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
要退出终端,直接输入exit
(3)后台运行容器:docker run -d 镜像
docker run -itd --name ubuntu-test ubuntu /bin/bash
注:进入容器:在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器使用以下指令:
docker attach 容器ID
docker exec 容器ID:推荐使用 docker exec命令,因为此退出容器终端,不会导致容器的停止。
如:docker exec -it 243c32535da7 /bin/bash
(4)启停容器
查看所有的容器命令:docker ps -a
查看所有容器状态:docker status -a
启动一个已停止的容器:docker start 容器ID
停止一个容器:docker stop 容器ID
重启一个容器:docker restart 容器ID
(5)导入导出容器
导出容器:docker export 容器ID > 容器快照文件
如docker export 1e560fca3906 > ubuntu.tar
导入容器:docker import 容器快照文件 - 镜像
可以使用 docker import从容器快照文件中再导入为镜像,以下实例将快照文件ubuntu.tar导入到镜像 test/ubuntu:v1:
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
也可以通过指定URL或者某个目录来导入:
docker import http://example.com/exampleimage.tgz example/imagerepo
(6)删除容器
删除一个容器:docker rm -f 容器ID
(7)清理掉所有处于终止状态的容器
清理掉所有处于终止状态的容器:docker container prune
3、扩展
(1)运行一个web应用:docker run -P 镜像
如:
docker pull training/webapp # 载入镜像
docker run -d -P training/webapp python app.py
docker run -d -p 5000:5000 training/webapp python app.py
参数说明:
-d:让容器在后台运行。
-P:将容器内部使用的网络端口随机映射到我们使用的主机上。
-p:指定端口映射
(2)查看WEB应用容器 docker ps
(3)网络端口的快捷方式:docker port 容器ID或容器名字
通过docker ps命令可以查看到容器的端口映射,docker还提供了另一个快捷方式docker port,使用docker port可以查看指定(ID 或者名字)容器的某个确定端口映射到宿主机的端口号。
(4)查看WEB应用程序日志:docker log 容器ID或容器名字
docker logs -f bf08b7f2cd89
参数说明:
-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。
(5)查看WEB应用程序容器的进程:docker top 容器ID或容器名字
可以使用docker top来查看容器内部运行的进程:docker top wizardly_chandrasekhar
(6)检查WEB应用程序:docker inspect 容器ID或容器名字
使用docker inspect来查看Docker的底层信息。它会返回一个JSON文件记录着Docker容器的配置和状态信息。
docker inspect wizardly_chandrasekhar
(7)停止WEB应用容器:docker stop 容器ID或容器名字
(8)启动WEB应用容器:docker start 容器ID或容器名字
(9)重启WEB应用容器:docker restart 容器ID或容器名字
(10)移除WEB应用容器:docker rm 容器ID或容器名字
Docker学习(二)——Docker容器使用的更多相关文章
- Docker学习之Docker容器基本使用
Docker学习之Docker容器基本使用 新建容器并启动 命令格式:docker run --options repository:tag 后台运行 命令格式:-d 已存在的容器相关操作 启动:do ...
- AspNetCore容器化(Docker)部署(二) —— 多容器通信
一.前言 着上一篇 AspNetCore容器化(Docker)部署(一) —— 入门,在单个容器helloworld的基础上引入nginx反向代理服务器组成多容器应用. 二.配置反向代理转接 配置转接 ...
- Docker学习笔记 — Docker私有仓库搭建
Docker学习笔记 — Docker私有仓库搭建 目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2 和Mavan的管理一样,Dockers ...
- Docker学习之Docker镜像基本使用
Docker学习之Docker镜像基本使用 获取镜像 命令格式:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] 例如: docker pull ...
- Docker学习笔记 - Docker容器内部署redis
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
- Docker学习笔记 - Docker容器之间的连接
学习目标: 容器之间可以相互连接访问:: --link redis:redisAlias 准备工作 FROM ubuntu:14.04 RUN apt-get install -y ping RUN ...
- Docker学习笔记 - Docker的数据卷容器
一.什么是数据卷容器 如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器. 数据卷容器:用于容器间的数据共享,主动挂载宿主机目录,用于其他容器挂载和共享. 二.数据卷容器的操作 1.创建 ...
- Docker实践(二):容器的管理(创建、查看、启动、终止、删除)
docker官方文档地址如下:[https://docs.docker.com/engine/reference/](https://docs.docker.com/engine/reference/ ...
- DOCKER学习_002:Docker的容器管理
一 Docker的基本信息 前面已经安装了Docker,现在看一下已安装Docker的安装环境以及其他信息 1.1 系统环境 [root@docker-server3 ~]# uname -r -.e ...
- Docker学习之3——容器
容器(Container) 容器介绍: docker是通过容器来运行业务的,就像运行一个kvm虚拟机是一样的.容器其实就是从镜像创建的一个实例. 我们可以对容器进行增删改查,容器之间也是相互隔离的.和 ...
随机推荐
- WPF实现统计图
WPF开发者QQ群: 340500857 | 微信群 -> 进入公众号主页 加入组织 前言 有小伙伴提出需要实现统计图. 由于在WPF中没有现成的统计图控件,所以我们自己实现一个. PS:有更 ...
- Swift-技巧(二)模糊脸部功能
摘要 本文介绍模糊脸部的功能逻辑和实现方式,实现方式会尽可能的使用苹果提供的 API,保证功能高效率和简洁. 逻辑 模糊脸部的逻辑主要有两个流程,就是先找到脸部,然后模糊脸部,那么就引申出这两个实现问 ...
- (一)Mongodb学习之 Centos 7 单机部署
学习参考:https://www.runoob.com/mongodb/mongodb-tutorial.html 一.部署环境 1.系统:Centos 7 2.mongodb: mongodb-li ...
- yum Multilib version problems
这两天在更新CentOS7系统时,出现了Multilib version problems错误,执行命令: # yum update 出现了的错误信息: .... ---> Package li ...
- 使用Netty和动态代理实现一个简单的RPC
RPC(remote procedure call)远程过程调用 RPC是为了在分布式应用中,两台主机的Java进程进行通信,当A主机调用B主机的方法时,过程简洁,就像是调用自己进程里的方法一样.RP ...
- Linux 系统分区方案 详细教程
简单分区方案 实际上,很多时候我们只需要分两个区:/和交换分区,日常使用基本不会有任何影响,甚至于交换分区对于现在的电脑来说都不是必要的,我们完全可以只分配一个根分区.linux只需要一个/根分区就可 ...
- ASP.NET Core设置URLs的几种方法
前言 在使用ASP.NET Core 3.1开发时,需要配置服务器监听的端口和协议,官方帮助文档进行简单说明,文档中提到了4种指定URL的方法 设置ASPNETCORE_URLS 环境变量: 使用do ...
- Java测试开发--Set、Map、List三种集合(四)
1.集合类型主要有3种:set(集).list(列表)和map(映射). 2.三者关系 3.Set set接口是Collection接口的一个子接口,是无序的,set去重,也就是说set中不存在两个这 ...
- js实现全选与全部取消功能
function checkAll() { //把所有参与选择的checkbox使用相同的name,这里为"num_iid" var eles = document.getE ...
- GitHub 12个实用技巧-从projiect项目管理、代码链接到博客wiki全过程
1 在GitHub.com上编辑代码 2 粘贴图片 3 美化代码 4 在PRs中巧妙关闭issues 5 链接到评论 6 链接到代码 7 灵活使用GitHub地址栏 8 创建复选框列表 9 在GitH ...