docker常用命令笔记

镜像命令

docker images 查看镜像

sudo docker images		# 查看所有主机上的镜像
# 参数
-a		# 列出所有镜像
-q		# 只显示镜像id

docker search 搜索镜像

sudo search [name]			# 搜索
#参数
--filter=[opt]=[condition]		# 过滤

docker pull 下载镜像

sudo docker pull [name][:tag]		# 如果不写tag,默认lastest版本,如下例
sudo docker pull mysql:8.0		# 8.0版本mysql


docker rmi 删除镜像

sudo docker rmi -f [IMAGE ID]|[REPOSTORY]		# 通过镜像id或名字删除,rmi的i代表镜像,-f 强制,如下例
sudo docker rmi -f $(sudo docker images)		# 删除所有镜像

容器命令

前提:有镜像才能创建容器,下载centos镜像测试学习

sudo docker pull centos		# 先下载镜像

新建容器并启动

sudo docker run [opt] image

# 参数
--name="Name"				# 容器名字,用来区分容器
-d					# 后台运行
-it					# 使用交换方式运行,进入容器查看内容
-p					# 指定端口
	其中有四种
		-p ip:主机端口:容器端口
		-p 主机端口:容器端口(常用)
		-p 容器端口
		容器端口
-P					# 随机指定端口

# 测试

sudo docker run -it centos /bin/bash		# 进入新的centos

列出所有运行中的容器

sudo docker ps		# 查看
-a		        # 列出所有当前正在运行的容器+历史运作过的容器
-q		        # 同镜像的-q
-n=?			# 显示最近的创建的容器

退出容器

exit			# 直接停止容器并退出
CTRL + P + Q 	        # 容器不停止退出(按键顺序不能错)

进入已创建的容器

# 在不停止容器退出后,再次进入容器(前提是容器已经启动)。以刚刚的centos为例:
sudo docker exec -it [containerID] /bin/bash
# 或者
sudo docker attach [containerID]

删除容器

sudo docker rm [容器id]				# 删除指定容器,不能删除正在运行的容器 
sudo rm -f $(sudo docker ps -aq) 	        # 删除所有容器

启动和停止容器

sudo docker start 容器id			# 启动容器
sudo docker restart 容器id		        # 重启容器
sudo docker stop 容器id			        # 停止当前运行的容器
sudo docker kill 容器id			        # 强制停止当前容器

run是新建一个容器,start是启动一个已经存在的容器

其他常用命令

后台启动容器
sudo run -d centos		# 后台启动centos
# 这里有一个坑:docker容器后台运行,必须要有一个前台进程,docker发现没有前台就会,就会自动停止
日志
sudo docker logs	# 查看日志

# 参数
-f		# 实时显示
-t 		# 时间戳
--tail 	# 从尾部算,查看的日志条数

查看容器中进程

sudo docker top [containerID]

查看镜像的元数据

sudo docker inspect [containerID]

从容器内拷贝文件到主机上

sudo docker cp [containerID]:[path] [DesPath]		# 将容器内路径为path的文件拷贝到主机DesPath上

# 路径交换就能实现从主机拷贝到容器内
posted @ 2021-12-04 14:13  TellMeYourStory  阅读(49)  评论(0)    收藏  举报