本篇主要是对 Docker 常用的一些命令进行介绍
Docker 的介绍及安装,请查看 asp.net core 容器化部署一(Docker的介绍及安装)
容器信息
docker --version #查看版本
docker version #查看版本
docker info #查看信息
docker --help #查看帮助
操作镜像
查看本地镜像
docker images #查看本地镜像
docker images -q #查看本地镜像,只显示ID
搜索仓库镜像
docker search 镜像名 #搜索镜像,例如:docker search mysql
docker search -f is-official=true or false 镜像名 #搜索是否官方的镜像,例如搜索官方镜像:docker search -f is-official=true mysql
docker search -f is-automated=true or false 镜像名 #搜索是否自动构建的镜像,例如搜索自动构建的镜像:docker search -f is-automated=true mysql
下载镜像
docker pull 镜像名:版本(不填默认为latest) #下载镜像,例如下载最新版本的mysql镜像:docker pull mysql 或 docker pull mysql:latest
构建镜像
docker build -t 镜像名:版本(不填默认为latest) dockerfile文件路径 #构建镜像,通过dockerfile文件构建镜像,例如:docker build -t docker_test . 注意 . 表示当前目录下的dockerfile文件
删除镜像
docker rmi 镜像名:版本(不填默认为latest) 或 镜像ID #删除本地镜像,例如:docker rmi docker_test 或 docker rmi 49bdfd850040,删除多个镜像,镜像名或镜像ID用空格隔开,例如 docker rmi docker_test1 docker_test2 或 docker rmi 49bdfd850040 49bdfd850042
docker rmi -f 镜像名:版本(不填默认为latest) 或 镜像ID #强制删除本地镜像,针对有运行容器的镜像
docker rmi (docker images -q) #删除本地所有镜像,如果有容器在运行,则会删除失败,需要添加 -f 参数进行强制删除,例如:docker rmi -f (docker images -q)
操作容器
查看容器
docker ps #查看正在运行的容器
docker ps -q #查看正在运行的容器的ID
docker ps -a #查看所有的容器
docker ps -a -q #查看所有的容器的ID
docker ps -s #查看正在运行的容器的文件大小
docker ps -a -s #查看所有的容器的文件大小
创建并运行容器
docker run 选项列表 镜像名:版本(不填默认为latest) 或 镜像ID #创建并运行容器,选项列表为可选项,可以不用任何选项,选项说明:-d #以守护方式后台运行,-p 对外端口:docker容器端口 #设置端口映射,--name 容器名称 #设置新容器名称,例如:docker run -d -p 88:80 --name docker_test01 docker_test
启动容器
docker start 容器名称或容器ID #启动容器,同时启动多个容器用容格隔开,例如:docker start 44285fa5b96d b2a26b310e5d 或 docker start docker_test01 docker_test02
docker start (docker ps -aq) #启动所有容器
重启容器
docker restart 容器名称或容器ID #重启容器,同时重启多个容器用容格隔开,例如:docker restart 44285fa5b96d b2a26b310e5d 或 docker restart docker_test01 docker_test02
docker restart (docker ps -aq) #重启所有容器
停止容器
docker stop 容器名称或容器ID #停止容器,同时停止多个容器用容格隔开,例如:docker stop 44285fa5b96d b2a26b310e5d 或 docker stop docker_test01 docker_test02
docker stop (docker ps -aq) #停止所有容器
强制停止容器
docker kill 容器名称或容器ID #强制停止容器,同时强制停止多个容器用容格隔开,例如:docker kill 44285fa5b96d b2a26b310e5d 或 docker kill docker_test01 docker_test02
docker kill (docker ps -aq) #强制停止所有容器
查看容器进程
docker top 容器名 或 容器ID #查看容器进程
查看容器日志
docker logs 选项列表 容器名 或 容器ID #查看容器日志,选项列表为可选项,可以不用任何选项,选项说明:-f #跟踪日志输出,-t 显示时间戳,--tail=最新条数 #显示最新多少条,例如:docker logs -t -f --tail=10 docker_test01
进入容器
docker exec 选项列表 容器名 或 容器ID /bin/bash #进入容器,选项列表为可选项,可以不用任何选项,选项说明:-i #打开STDIN(输入),-t #分配一个伪终端,一般 -i -t 要一起用,例如:docker exec -i -t b2a26b310e5d /bin/bash
删除容器
docker rm 容器名 或 容器ID #删除容器,例如:docker rm docker_test 或 docker rm 49bdfd850040,删除多个容器,容器名或容器ID用空格隔开,例如 docker rm docker_test1 docker_test2 或 docker rm 49bdfd850040 49bdfd850042
docker rm -f 容器名 或 容器ID #强制删除容器,针对运行的容器
docker rm (docker ps -aq) #删除所有容器,如果有容器在运行,则会删除失败,需要添加 -f 参数进行强制删除,例如:docker rm -f (docker ps -aq)
保存载入及导出导入
镜像保存到本地
docker save -o 本地文件名 Docker镜像名 戓 镜像ID #从Docker把镜像保存到本地,-o 表示输出,例如:docker save -o docker_test_save docker_test
从本地载入镜像
docker load -i 本地文件名 #从本地载入镜像到Docker,-i 表示输入,例如:docker load -i docker_test_save
导出容器到本地
docker export -o 本地文件名 Docker镜像名 戓 镜像ID #导出容器到本地,-o 表示输出,例如:docker export -o docker_test_01_export docker_test_01
从本地导入镜像
docker import 本地文件名 导入后的镜像名 #从本地导入镜像到Docker,例如:docker import docker_test_01_export docker_test_import
以上是对 Docker 常的一些命令进行了介绍,更加详细的说明可参考官方文档:Docker官方文档