docker常用命令
镜像操作
搜索指令
通过镜像仓库搜索
Docker镜像仓库网址:https://hub.docker.com/search?q=&type=image
指令搜索
| docker search tomcat //搜索tomcat镜像 |
下载镜像
| docker pull 镜像名称 //查询最近的版本 |
| docker pull 镜像名称:版本标签 |
| |
| # 如: |
| |
| docker pull tomcat |
| docker pull tomcat:8.5.57-jdk8-openjdk-slim |
查看本地镜像
删除镜像
| docker rmi tomcat:8.5.57-jdk8-openjdk-slim //通过镜像名:版本号 |
| |
| 或 |
| |
| docker rmi b1a27cee0cec //通过IMAGE ID删除 |
保存镜像为文件
| docker save -o /root/tomcat.tar tomcat:8.5.57-jdk8-openjdk-slim |
| |
| // -o /root/tocmat.tar 保存为文件的地址 |
把保存的镜像备份文件恢复成镜像
| docker load -i /root/tomcat.tar |
容器操作
使用镜像新建一个容器
- 创建并运行一个java容器,打印helloworld!
| docker run java:8 /bin/echo 'Hello World!' |
- 创建一个Centos容器
| docker run -dti --name=c1 centos:centos7 /bin/bash |
| |
| -d 表示守护式容器(用户退出容器后,容器依然可以正常运行) |
| |
| -i 运行容器 |
| |
| -t 交互 后面跟交互shell脚本 /bin/bash |
| |
| centos:centos7 镜像名称 |
-
创建一个有网络使用容器
如:创建一个容器nginx 端口为 80
-p 端口映射 宿主机端口:容器端口
列出容器
- 列出当前正在运行的容器 docker ps
- 列出当前全部容器 docker ps -a
- 列出当前容器的所有编号 docker ps -a -q
停止容器
| docker stop 容器的names |
| |
| docker stop 容器的CONTAINER ID |
| |
| 如: |
| |
| docker stop c1 |
| |
| docker stop 36bee7ca1cf4 |
启动容器
| docker start 容器名称或容器编号 |
| docker start n1 |
强制停止容器
重启容器
| docker restart 容器名称或者容器编号 |
如何进入到容器
| docker exec -it c1 /bin/bash |
退出容器
从宿主机拷贝文件到容器
| 在宿主机上创建文件并编辑 |
| |
| touch java511.txt |
| |
| vi java511.txt |
| |
| 拷贝到容器中 |
| |
| docker cp /java511.txt c1:/root/ |
从容器拷贝文件到宿主机
| docker cp c1:/1.java /root/2.java |
挂载宿主机的指定目录到容器(其中 --privileged 是可选的)
(如果你共享的是多级的目录,可能会出现权限不足的提示。这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题)
| docker run -di --name=c2 -v /root/html:/test0722 --privileged=true centos:centos7 |
删除容器
| docker rm 容器名称或者编号 //注意 不能删除正在运行中容器, 需要停掉才可以删除 |
| |
| docker rm -f 容器名称或者编号 // -f 强制删除 |
查看容器ip
| docker inspect n1 //输出的内容较多 |
| |
| docker inspect --format='{{.NetworkSettings.IPAddress}}' n1 //只输出ip |
查看容器日志输出
| docker logs n1 查看日志 |
| |
| docker logs --tail="2" n1 查看日志 左后2行。 |
设置容器随着docker服务器启动就自动启动
| docker update --restart=always 容器名称 |
批量删除
- 建议先停止所有容器,再执行删除(也可加-f强制删除,但是不推荐):
| docker stop $(docker ps -a -q) |
- 删除所有容器
| docker rm $(docker ps -a -q) |
- 删除所有镜像(操作 有风险, coding需谨慎)
| docker rmi $(docker images -q) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix