docker命令
docker命令
1. 运行及状态管理
1.1. 创建/启动/终止/删除容器
docker create 创建容器,新创建的容器是停止状态
docker start 启动容器
docker restart
守护态,后台运行docker run –d python /bin/echo ‘hello world’
docker run等效于先创建然后启动容器,容器启动后会返回一个唯一的id。
docker run在后台做的操作包括:
- 检查本地是否存在指定的镜像,不存在就从公有仓库下载
- 利用镜像创建并启动一个容器
- 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
- 从地址池配置一个 ip 地址给容器
- 执行用户指定的应用程序
- 执行完毕后容器被终止
docker stop [-t 10] 向容器发送SGTERM信号,等待10秒后再发送SIGKILL信号终止容器。
docker kill 杀死一个容器
1.1.1. run
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷
常用:
docker run --name flaskapp -it python:3.6.9 /bin/bash #非后台
docker run --name flaskapp -itd python:3.6.9 /bin/bash #后台运行
1.1.2. 删除
docker rm <name>
-f :通过SIGKILL信号强制删除一个运行中的容器
强制删除容器db01、db02
docker rm -f db01 db02
1.2. 连接容器
docker exec :在运行的容器中执行命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
案例:
docker exec -it flaskapp /bin/bash
可以通过 docker ps -a 命令查看已经在运行的容器,然后使用容器 ID 进入容器。
查看已经在运行的容器 ID:
# docker ps -a
9df70f9a0714 openjdk "/usercode/script.sh…"
通过 exec 命令对指定的容器执行 bash:
# docker exec -it 9df70f9a0714 /bin/bash
2. 容器管理
2.1.1. 查看
docker ps
-a :显示所有的容器,包括未运行的。
-q :静默模式,只显示容器编号。
示例:
docker ps不加参数显示当前运行的所有容器;
docker ps –a –q 列出所有(运行/停止)的容器编号
3. 镜像管理
3.1. images
docker images
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests :显示镜像的摘要信息;
-f :显示满足条件的镜像;
--format :指定返回值的模板文件;
--no-trunc :显示完整的镜像信息;
-q :只显示镜像ID。
3.2. rmi 移除镜像
docker rmi python:3.6.9
3.3. build
docker build -t sn/flaskapp:v1 -f /e/dock/Dockerfile
docker build -t sn/flaskapp:v1 .
释义:
-t 指定标签名
-f 指定配置文件
尽量进入配置文件目录使用第2种方式创建镜像;在windows下第一种不能用;
注意第二句末尾有个点
4. 镜像仓库
login
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
docker push [OPTIONS] NAME[:TAG]
search
5. 命令总结
docker run -it jcdemo/flaskapp /bin/bash
docker run --name flaskapp -it python:3.6.9 /bin/bash
docker run --name flaskapp -itd python:3.6.9 /bin/bash
docker run --name flaskapp -itd jcdemo/flaskapp /bin/bash
docker exec -it flaskapp /bin/bash
docker build -t sn/flaskapp:v1 -f /e/dock/Dockerfile
docker build -t sn/flaskapp:v1 .

浙公网安备 33010602011771号