中间件学习——Docker常用命令

举报
翟文彪 发表于 2022/01/26 21:26:01 2022/01/26
【摘要】 Docker的常用命令 帮助命令docker version # 显示docker的版本信息docker info # 显示docker的系统信息,包括镜像和容器的数量docker 命令 --help # 万能命令帮助文档地址:https://docs.docker.com/reference/ 镜像命令docker images 查看所有本地的主机上的镜像1.解释REPOSITOR...

Docker的常用命令

帮助命令

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

帮助文档地址:https://docs.docker.com/reference/

镜像命令

docker images 查看所有本地的主机上的镜像
image.png
1.解释
REPOSITORY # 镜像的仓库源
TAG # 镜像的标签
IMAGE ID # 镜像的id
CREATED # 镜像的创建时间
SIZE # 镜像的大小
2.可选项
-a, --all # 列出所有镜像
-q, --quiet # 只显示镜像id
docker search 搜索镜像
1.可选项
通过收藏来过滤:
–filter=STARS=3000 #搜索出来的镜像就是STARS大于3000的
docker pull 下载镜像
docker pull 镜像名[:tag]
例:docker pull mysql
1.等价的命令
docker pull mysql
docker pull docker.io/library/mysql:latest
2.指定版本下载
例:docker pull mysql:5.7
docker rmi 删除镜像
docker rmi -f 镜像id # 删除指定的镜像
docker rmi -f 镜像id 镜像id 镜像id # 删除多个镜像
docker rmi -f $(docker images -aq) # 删除全部的镜像

容器命令

说明:有了镜像才可以创建容器,linux,下载一个centos 镜像来测试学习
docker pull centos
新建容器并启动
docker run [可选参数] images
参数说明:
–name=“Name” # 容器名字 tomcat01 tomcat02,用来区分容器
-d # 后台方式运行
-it # 使用交互方式运行,进入容器查看内容
-p # 指定容器的端口 -p 8080:8080
-P # 随机指定端口
测试,启动并进入容器:
docker run -it centos /bin/bash
从容器退回到主机:
exit
列出所有运行的容器
docker ps # 命令
-a # 列出当前正在运行的容器+历史运行过的容器
-n=? # 显示最近创建的容器
-q # 只显示容器的编号
退出容器
exit # 直接容器停止并退出
Ctrl + P + Q # 容器不停止退出
删除容器
docker rm 容器id # 删除指定的容器,不能删除正在运行的容器
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 # 强制停止当前容器

常用命令

后台启动容器
命令 docker run -d 镜像名
问题:docker ps 发现centos 停止了
常见的坑,docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
查看日志
docker logs -tf 容器,没有日志
-tf # 显示日志 -t 日志时间 -f 保留打印窗口,持续打印
-tail number # 要显示的日志条数
查看容器中的进程信息
docker top 4965b141dcf5
查看镜像的源数据
docker inspect 4965b141dcf5
从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的主机路径
进入容器内部:
docker exec -it 4965b141dcf5 /bin/bash
容器内新建一个文件夹:
touch test.java
将这文件拷贝出来到主机上:
docker cp 4965b141dcf5:/home/test.java /home
ps:拷贝是一个手动过程,未来我们使用-v 卷的技术,可以实现自动同步可以实现

小结

image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。