Docker的常用命令

1.帮助命令

# 显示docker全部信息
docker version
# 显示docker的系统信息,包括镜像和容器的数量
docker info
# 万能命令
docker 命令 -help

2.镜像命令

2.1.Docker images

# 镜像的仓库源
docker images repository
# 镜像的标签
docker images tag
# 镜像的id
docker images image id
# 镜像的创建时间
docker images created
# 镜像的大小
docker images size

# 可选项
-a, -all #列出所有镜像
-q, --quiet # 只显示镜像id
docker search mysql

# 可选项,通过收藏来过滤
-filter=starts=3000 # 搜出来的镜像就是starts3000以上的

2.3.Docker pull 下载镜像

镜像名 [:tag] 如果不写版本就是latest
docker pull # 下载镜像

# 指定版本下载
docker pull mysql:5.7.30

2.4.Docker rmi 删除镜像

docker rmi
docker rmi 镜像id # 删除多个中间用空格隔开
docker rmi -f $(docker images -aq) # 删除全部的镜像

3.容器命令

**说明:**我们有了镜像才可以创建容器,Linux, 下载一个centos镜像来测试

docker pull centos

3.1.新建Docker容器并启动

docker run [可选参数] image
# 参数说明
--name="Name" # 容器名字 tomcat01 tomcat02 用来区分容器
-d 		#后台运行
-it 	# 使用交互方式运行,进入容器查看

-p 		# 指定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口 # 常用的是这种方式
-p 容器端口
-p # 机指定端口

#测试
docker run -it centos /bin/bash # 启动并进入容器

3.2.列出所有的运行的容器

# 列出所有运行的容器
docker ps
# 列出历史运行过的容器
docker ps -a
# 只显示最近创建的容器(参数)
-n=?
# 只显示容器的编号
-q

3.3.退出容器

# 直接退出容器,并停止
exit
# 容器退出,不停止
ctrl + p + q

3.4.删除容器

# 不能删除正在运行的容器
docker rm 容器id
# 删除所有的容器
docker rm -f $(docker ps -sq)
#删除所有的容器
docker ps -a -q | xargs docker rm

3.5.启动和停止容器的操作

# 启动容器
docker start 容器id
# 重启容器
docker restart 容器id
# 停止容器
docker stop 容器id
# 杀死容器
docker kill 容器id

4.常用的其他命令

4.1.后台启动容器

# 命令 docker run -d 镜像名
docker run -d centos
# 问题 docker ps 发下centos停止了

# 常见的坑:docker 容器使用后台运行,必须要有一个前台进程,docker发现没有应用,就会自动停止
# nginx 容器启动后,发现自己没有提供服务,就会立即停止,就是没有程序了

4.2.查看日志命令

docker logs -f -t --tail

# 显示日志
-tf # 显示日志
--tail number # 要显示的日志条数

4.3.查看容器中的进程信息

docker top 容器id

4.4.查看镜像的源数据

docker inspect 容器id

4.5.进入当前正在运行的容器

# 我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置
# 命令
# 进入容器后开启一个新的终端, 可以在里面操作(常用)
docker exec -it 容器id bashShell

#进入容器正在执行的终端, 不会启动新的进程
docker attach 容器id

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

docker cp 容器id: 容器内路径 目的主机路径
# 拷贝是一个手动过程,未来我们使用 -v 卷的技术,可以实现,自动同步

4.6.小结

image-20230810225624291