docker基础一:docker常用命令

一、帮助命令
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 /path/压缩包名
	* docker load --input /path/压缩包名
三、操作容器命令

前提:先在本地下载了要使用的镜像,然后再容器实例化一个对象。

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

你可能感兴趣的:(docker,DevOps,docker容器及编排技术)