版权声明:版权声明:本文为博主原创文章,转载请注明网址,谢谢 https://blog.csdn.net/Chenftli/article/details/91412352
一、帮助命令
1.查看版本:docker version
2.查看docker信息: docker info
3.查看docker命令帮助:docker --help
二、操作镜像命令
1.列出本地主机上的镜像:docker images [OPTIONS]
* OPTIONS 选项说明(可组合使用):
* -a:列出本地所有镜像(含中间映像层)
* -q:只显示镜像ID
* --digests:显示镜像的摘要信息
* --no-trunc:显示完整的镜像信息 (完整的镜像ID)
2.根据镜像名搜寻镜像:docker search [OPTIONS] 镜像名[:TAG](例:tomcat)
搜索的地址是(可以直接在网站的search搜寻):https://hub.docker.com
* OPTIONS 选项说明(可组合使用)
* --no-trunc:显示完整的镜像描述
* -s number:显示start不小于number的镜像
* --automated:只列出自动编译类型的(automated build)镜像
3.下载镜像:docker pull 镜像名[:TAG]
* TAG 为镜像的版本(默认为last)
4.删除某个镜像:docker rmi [OPTIONS] 镜像名字(或ID)[:TAG]
* TAG 为镜像的版本(默认为last)
* OPTIONS 选项说明(可组合使用)
* -f:强制删除已经有容器实例对象的镜像
5.删除多个镜像: docker rmi [OPTIONS] 镜像名1(或ID)[:TAG] 镜像名2(或ID)[:TAG]
* TAG 为镜像的版本(默认为last)
* OPTIONS 选项说明(可组合使用)
* -f:强制删除已经有容器实例对象的镜像
6.删除本地全部镜像:docker rmi -f $(docker images -aq)
7.镜像commit生成自己的镜像:
* docker commit -m=“提交信息” -a=“作者” 容器ID 新的镜像名 [:TAG]
8.将镜像以tar格式保存到宿主机:
* docker save -o /path/压缩包名 镜像名[:TAG](或者ID)
9 将镜像压缩包从宿主机加载到docker中:
* docker load -i 镜像名[:TAG](或者ID)
三、操作容器命令
前提:先在本地下载了要使用的镜像,然后再容器实例化一个对象。
1.新建并启动容器:docker run [OPTIONS] 镜像名称或ID(IMAGE) [COMMAND] [ARG...]
* OPTIONS 选项说明(可组合使用)
* --name="容器新名字":为容器指定一个名称
* -d: 后台运行容器,返回容器ID,及启动守护式容器
* -i:以交互式模式运行容器(启动交互式容器),通常与-t同时使用
* -t:为容器重新分配一个伪输入终端,通常与-i同时使用
* -P:随机端口映射
* -p:指定端口映射,有以下四种格式:
* ip:hostPort:containerPort
* ip::containerPort
* hostPort:containerPort
* containerPort
2.列出当前所有正在运行的容器:docker ps [OPTIONS]
* OPTIONS 选项说明(可组合使用)
* -a:列出当前所有正在运行的容器+历史上运行过的
* -l:显示最近创建的容器
* -n number:显示最近number个创建的容器
* -q:静默模式,只显示容器编号
* --no-trunc:不截断输出
3.退出容器:两种退出方式
* exit:容器停止退出
* ctrl + P + Q:容器不停止退出
4.启动容器:docker start 容器ID(或容器名称)
5.重启容器:docker restart 容器ID(或容器名称)
6.停止容器:docker stop 容器ID(或容器名称)
7.强制停止容器:docker kill 容器ID(或容器名称)
8.删除已停止的容器:docker rm 容器ID
* 一次性删除多个容器:docker rm -f $(docker ps -aq)
* 或者: docker ps -aq | xargs docker rm
9.精华:
* 启动一个守护容器:docker run -d 容器名称(或者ID)
* 启动后使用docker ps -a查看时,发现已经退出。
* docker容器后台运行,必须有一个前台进程
* 问题:docker容器运行非一直挂起的命令(如:top、tail),就会自动退出,这种源于docker的机制。
* 实例讲解:
* nginx正常配置启动服务只要启动响应的service即可,如开启:service nginx start
* 但是在docker中,这样做nginx为后台进程模式运行,导致docker前台没有运行的应用。
* 这样容器启动后会立即退出,解决的方法是将你要运行的程序以前台进程的形式运行。
* 查看容器日志:docker logs [OPTIONS] 容器名称(或ID)
* OPTIONS 选项说明(可组合使用)
* -t:加入时间戳
* -f:跟随最新的日志打印
* -tail number:显示最后number条日志
* 查看容器内运行的进程:docker top 容器名称(或ID)
* 查看容器内部细节:docker inspect 容器名称(或ID)
* 进入正在运行的容器,并以命令行交互
* 直接进入命令终端,不启动新的进程:docker attach 容器名称(或ID)
* 容器中打开新终端,启动新进程:docker exec -it 容器名称(或者ID) [bashShell]
* 当选项只有-t时,后面可以直接使用bashShell命令,直接输出结果,并退出交互式。
* 容器中文件拷贝到主机上:docker cp 容器名(或ID):容器内路径 目的主机路径
* 宿主机的文件拷贝到容器中:docker cp 宿主机文件路径 容器名(或ID):拷贝到容器内的路径
下一篇:https://blog.csdn.net/Chenftli/article/details/91444960