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或容器名字