docker常用指令

转载自

https://blog.csdn.net/qq_44723773/article/details/118662937?spm=1001.2101.3001.6650.2&depth_1-utm_relevant_index=4

1 帮助命令
docker version 			# 显示docker的版本信息
docker info 			# 显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help   	   # 帮助命令
2 镜像命令

2.1 下载镜像

docker images			 # 查看所有本地主机上的镜像
docker search mysql      # 搜索镜像
docker pull --help 		 # 下载镜像
docker pull mysql:5.7    # 指定MySQL的版本

2.2、删除镜像

docker rmi -f id		 # 删除指定的镜像,remove image,加上镜像ID
docker rmi -f id id id 	 # 删除多个镜像
docker rmi -f $(docker image -aq)   # 批量删除全部的image(-f表示全部删除,即force,-ap查询命令)
3.容器命令

下载CentOS镜像:docker pull centos
新建容器并启动:

docker run --help
docker run [可选参数] image
# 参数说明
--name="Name"		容器名字  Tomcat1 Tomcat2 用来区分容器
-d 					后台方式运行
-it					使用交互方式运行,进入容器查看内容
-p					指定容器的端口,-p  8080:8080
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口(常用)
	-p 容器端口
-P					随机指定端口

启动并进入容器

docker run -it centos /bin/bash

从容器中退回主机

exit			# 直接停止容器并退出
Ctrl + P + Q	# 容器不停止退出
ls

列出所有运行的容器

docker ps
-a 			# 列出当前正在运行的容器,带出历史运行过的容器
-n=? 		# 显示最近创建的容器
-q			# 只显示容器的编号
docker ps -a

删除容器

docker rm 容器id						# 删除指定的容器,不能删除正在运行的容器,如果要强制删除,加采纳数rm -f
docker rm -f $(docker ps -aq)	 	 # 删除所有的容器	
docker ps -a -q | xargs docker rm 	 # 删除所有的容器(管道命令)

启动和停止容器的操作

docker start 容器ID		# 启动容器
docker restart 容器ID		# 重启容器
docker stop 容器ID		# 停止正在运行的容器
docker kill 容器ID		# 强制停止当前容器
4 常见其他命令

后台启动容器

docker run -d 镜像名
docker run -d centos
# 问题:docker ps,发现centos停止了
# 常见的坑:docker 容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
# Nginx容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序运行了

查看日志

docker logs --help
docker logs -f -t --tail 容器ID			# 容器如果没有日志
# 自己编写shell脚本
"while true;do echo OriginalCoder;sleep 1;done"
docker run -d centos /bin/sh -c "while true;do echo OriginalCoder;sleep 1;done"
docker ps # 查看容器ID

显示日志
-tf   				# 显示日志(-t:时间戳,-f:持续显示日志)
--tail number 		# 要显示的日志条数
docker logs -ft --tails 10 容器ID(10代表打印的条数)

查看容器中进程信息ps

docker ps 			# 查看容器ID
docker top 容器ID

查看镜像的元数据

docker inspect --help
docker ps -a
docker inspect 容器ID

进入当前正在运行的容器

通常情况下,容器都是后台运行的,需要进入容器中,修改一些配置

# 方式一
docker exec -it 容器ID /bin/bash
ls
ps -ef

# 方式二
docker attach 容器ID

区别
# docker exec 		进入容器后开启一个新的终端,可以在里面操作
# docker attach 	进入容器正在执行的终端,不会启动新的进程

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

docker cp 容器ID: 容器内路径 目的主机路径
docker ps
docker images
docker run -it centos /bin/bash
docker ps 


docker attach 容器ID
cd /home
ls
容器内新建一个文件
# touch test.java
exit
docker ps -a
# 将这个文件拷贝出来到主机上
docker cp 容器ID:/home/test.java /home
ls
posted @ 2022-04-15 15:48  烨然2333  阅读(23)  评论(0编辑  收藏  举报