Docker 常用命令速记:镜像、容器、网络与数据卷
【摘要】 容器用起来不难,难的是命令记不全:镜像拉取、容器启停、端口映射、数据卷挂载,平时用得少就容易现查。本文速记 Docker 高频命令,分镜像、容器、网络、数据卷四节,照着敲就能上手。 一、镜像:拉取、查看与清理docker pull nginx:1.28 # 拉取指定版本镜像docker images # 查看本地镜像docker rmi nginx:1.28 ...
容器用起来不难,难的是命令记不全:镜像拉取、容器启停、端口映射、数据卷挂载,平时用得少就容易现查。本文速记 Docker 高频命令,分镜像、容器、网络、数据卷四节,照着敲就能上手。
一、镜像:拉取、查看与清理
docker pull nginx:1.28 # 拉取指定版本镜像
docker images # 查看本地镜像
docker rmi nginx:1.28 # 删除本地镜像
docker image prune # 清理悬空镜像
习惯:生产环境写死版本号,不用 latest,避免下次拉取到不同版本导致行为不一致。镜像体积大时拉取慢,可先用 docker images 看大小,少用臃肿的基础镜像;不再用的旧版本及时清理,磁盘吃紧时先清悬空镜像。
二、容器:运行、启停与查看
docker run -d --name web -p 8080:80 nginx:1.28 # 后台运行,主机 8080 映射容器 80
docker ps # 查看运行中的容器
docker ps -a # 查看全部容器(含已停止)
docker logs -f web # 跟踪查看容器日志
docker stop web # 停止容器
docker start web # 启动容器
docker rm web # 删除容器
排障时先看日志:docker logs --tail 100 web 只看最近 100 行,日志刷屏时很有用。需要进容器里看现场时用 docker exec -it web sh,进入后直接查配置、测网络,退出不影响容器运行;想让服务随主机重启自动恢复,启动时加上 --restart=always。
三、网络与端口:互联与隔离
docker network ls # 查看网络列表
docker network create mynet # 新建自定义网络
docker run -d --name api --network mynet myapp:1.0
同一自定义网络内的容器可以用容器名直接互访,不用记 IP;需要对外提供服务时再用 -p 做端口映射。端口被占用时先用 docker ps 看已映射的端口,再换主机端口;容器之间不要用 --link 老办法,自定义网络更干净。
四、数据卷:数据不随容器删除而丢失
docker volume create webdata # 创建数据卷
docker run -d --name web -v webdata:/usr/share/nginx/html nginx:1.28
docker volume ls # 查看数据卷
docker volume rm webdata # 删除数据卷
容器删了卷还在,数据不会丢;备份时把卷挂载到临时容器打包即可:
docker run --rm -v webdata:/data -v $(pwd):/backup busybox tar czf /backup/webdata.tar.gz -C /data .
恢复时反向操作:新建空卷后把备份包解压进去,再起容器挂载,数据就回来了。
小结
镜像管版本、容器管运行、网络管互联、数据卷管数据。先把上面四组命令敲熟,日常容器操作基本够用;遇到问题先看 docker ps 和 docker logs,再决定下一步。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)