Docker常用命令
运行一个docker实例
1
| docker run xxx # xxx是实例的名称,如hello-world
|
查看本地docker镜像信息
卸载docker
1 2 3 4 5 6
| # ubnutu 下 # 卸载docker引擎,应用程序 sudo apt-get purge docker-ce docker-ce-cli containerd.io # 删除docker镜像,资源 sudo rm -rf /var/lib/docker # docker的默认工作路径 sudo rm -rf /var/lib/containerd
|
帮助命令
1 2 3
| docker vsersion # 显示docker信息 docker info # 显示docker的系统信息 docker 命令 --help
|
[docker官方命令地址](Reference documentation | Docker Documentation)
镜像命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| docker login # 登录dockerhub 账号,有些镜像需要账号才能下载 docker images # 查看所有docker镜像 docker search java # 搜索镜像 docker pull ascdc/jdk8 # 下载镜像 Using default tag: latest # 默认拉取最新版本 latest: Pulling from ascdc/jdk8 297061f60c36: Pull complete # 分层下载( 如果下载其他镜像有相同的层时就不会重复下载 ) e9ccef17b516: Pull complete dbc33716854d: Pull complete 8fe36b178d25: Pull complete 686596545a94: Pull complete dfa7782be422: Pull complete 25d4d9080d04: Pull complete 0615a7c60138: Pull complete a8a7a10db50a: Pull complete Digest: sha256:44af3f9184a2fde277ccd785f47bfe2ef3f04f2c35bf6d92adf4b40cb585a5f7 #标签 Status: Downloaded newer image for ascdc/jdk8:latest docker.io/ascdc/jdk8:latest # 真实的仓库地址 docker rmi -f (imgaeId/imageName) # 删除image,多个中间加空格 docker rmi -f $(docker images -qa) # 删除所有的image
|
容器命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| # 下载镜像并运行镜像 docker run [参数] images # --name="Name" #容器名字 -d #后台运行 -it # 使用交互模式运行 -p # 指定一个port运行容器 -p ip:主机端口:容器端口 -p 主机端口:容器端口 ( 常用 ) -p 容器端口 -P # 随机一个port
# 启动并进入容器 long@ltp:/$ docker run -it centos /bin/bash [root@04f98154528b /]# # 退出命令 exit # 会关闭容器 ctrl + P + Q # 不关闭容器退出 # 列出所有运行的命令 docker ps docker ps -a docker ps -a -n=1 # 显示最后一次运行的容器 docker ps -qa # 删除容器 docker rm #容器Id docker rm -f $( docker ps -aq ) #删除所有容器 # 启动和停止容器 docker start 容器Id # 启动一个容器 docker restart 容器Id # 重启一个容器 docker stop 容器Id docker kill 容器Id # 重新进入容器 docker exec -it 容器Id /bin/bash docker attach 容器Id
docker exec # 开启一个新的终端 ( 常用 ) docker attach # 使用容器之前的终端
|
常用的其他命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| # 后台启动容器 docker run -d centos # 常见的问题 # docker 容器使用后台运行,就必须要有一个前台应用,docker发现没有前台应用,就会自动停止
# 查看日志 -tf -tail 10 显示10行日志 docker --logs 容器Id
# 查看容器中的进程信息 docker top 容器Id
# 查看容器内部信息 docker inspect 容器Id
# 从容器内拷贝文件到宿主机上 docker cp 容器Id:/文件地址 宿主机目标目录
# 查看容器 资源状态 docker stats
# 提交容器 -> 将一个容器打包成一个新的镜像 # 首先需要运行容器 docker commit -m="描述信息" -a="作者" 容器Id [Tag信息]
# 查看 image build的步骤 docker history imageName/imageId
# 数据持久化/数据卷挂载 docker run -it -v 宿主目录:容器目录
# 匿名挂载 -v 容器目录 DRIVER VOLUME NAME local 2ddc412e3e1d7274549550589ed28bd16f2a8d9ab899d9d853edcac504c5e8e5 # 具名挂载 -v 具名:容器目录 # 区分具名挂载、匿名挂载和指定目录挂载 docker -v 容器目录 # 匿名挂载 docker -v 具名:容器目录 # 具名挂载 dokcer -v /宿主机路径:容器目录 # 指定目录挂载
# 拓展 # ro readOnly 只读权限 # rw readWriter 读写权限 docker -v 容器目录:[ro|rw]
# 查看所有数据卷 docker vloume ls
# 提交镜像 # 提交镜像之前需要先登录账号 # docker hub docker pull authorName/imageName:[Tag]
# 修改image信息 docker tag imageId 修改之后的信息
# 查看所有的docker网络 docker network ls
|