当前位置: 首页 > news >正文

Docker 常用指令手册(学习使用)

CentOS Docker 实用指令手册

1. 安装与配置

# CentOS 安装Docker
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo docker run hello-world  # 验证安装

# 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://your-mirror.mirror.aliyuncs.com"]
}
EOF
sudo systemctl restart docker

2. 镜像管理

# 搜索镜像(显示官方镜像)
docker search --filter "is-official=true" nginx

# 拉取指定架构镜像
docker pull --platform linux/amd64 ubuntu:22.04

# 批量导出镜像
docker save -o allimages.tar $(docker images -q)

# 删除所有<none>镜像
docker image prune -a -f

# 查看镜像详细信息
docker image inspect nginx:latest | grep -i version

3. 容器操作

3.1 基础操作

# 启动容器(带资源限制)
docker run -d --name myapp \
  --memory="1g" \
  --cpus="1.5" \
  --restart=unless-stopped \
  -p 8080:80 \
  nginx:alpine

# 查看实时日志(显示时间戳)
docker logs -f -t myapp

# 批量停止容器
docker stop $(docker ps -aq)

# 强制删除所有容器
docker rm -f $(docker ps -aq)

3.2 高级操作

# 修改容器配置后重新启动
docker update --memory="2g" myapp && docker restart myapp

# 进入容器的三种方式
docker exec -it myapp sh           # Alpine镜像
docker exec -it myapp /bin/bash    # Ubuntu/CentOS镜像
docker exec -it myapp /bin/zsh     # 如果安装了zsh

# 容器与宿主机文件互传
docker cp myapp:/etc/nginx/nginx.conf ./nginx.conf  # 导出配置文件
docker cp ./custom.html myapp:/usr/share/nginx/html/ # 导入文件

4. 网络与存储

# 查看容器IP地址
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' myapp

# 创建带固定IP的容器
docker network create --subnet 172.18.0.0/16 mynet
docker run --network mynet --ip 172.18.0.100 -d nginx

# CentOS文件挂载(SELinux兼容)
docker run -v /host/path:/container/path:Z nginx

# 查看卷使用情况
docker system df -v

5. 排错与维护

# 查看容器进程树
docker exec myapp ps aux

# 分析容器启动失败
docker logs --since 5m myapp | grep -i error

# 检查容器健康状态
docker inspect --format='{{json .State.Health}}' myapp

# 清理无用数据
docker system prune -af --volumes

6. 常用组合命令

# 批量更新所有容器
docker ps -aq | xargs -I {} docker update --restart=always {}

# 快速进入最近创建的容器
docker exec -it $(docker ps -lq) bash

# 查看容器资源使用
docker stats $(docker ps --format={{.Names}})

# 查找大体积镜像
docker images --format "{{.Size}}\t{{.Repository}}" | sort -h -r

7. 安全相关

# 以非root用户运行容器
docker run -d --user 1000:1000 nginx

# 限制容器权限
docker run --cap-drop=ALL --cap-add=NET_BIND_SERVICE nginx

# 扫描镜像漏洞
docker scan nginx:alpine

8. 配置优化

# 修改Docker存储驱动
sudo vim /etc/docker/daemon.json
# 添加: "storage-driver": "overlay2"

# 限制日志大小(单个容器)
docker run --log-opt max-size=10m --log-opt max-file=3 nginx

# 查看Docker运行时信息
docker info | grep -E 'Storage Driver|Cgroup Driver'

相关文章:

  • Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking
  • 16.11 LangChain SQL 生成与执行实战:构建安全高效的数据库查询引擎
  • DeepSeek如何快速开发PDF转Word软件
  • 【JAVA面试题】JDK、JRE、JVM 三者区别和联系
  • 商米科技前端工程师(base上海)内推
  • 【HTML—前端快速入门】HTML 基础
  • 什么是最终一致性,它对后端系统的意义是什么
  • 物联网 智慧园区井盖管理办法和功能介绍
  • 大数据学习(53)-Hive与Impala
  • 授权与认证之jwt(四)创建OAuth2 Filter类
  • 3471. 找出最大的几近缺失整数
  • 基于图神经网络的会话推荐经典论文
  • 十四届蓝桥杯JAVA-b组-合并石子
  • _ 为什么在python中可以当变量名
  • Redis面试常见问题——使用场景问题
  • int new_pos = (pos + delta + 9) % 9 化曲为直算法
  • 蓝桥杯自我复习打卡
  • TDengine 中对表的管理操作
  • 配置Nginx日志url encode问题
  • 本地部署大语言模型-DeepSeek
  • 世卫大会连续九年拒绝涉台提案
  • 巴基斯坦外长访华是否与印巴局势有关?外交部:此访体现巴方高度重视中巴关系
  • 十大券商看后市|A股指数有望进一步缓步推高,淡化短期波动
  • 大学2025丨专访西湖大学副校长邓力:如何才能培养“不惧未知”的创新者
  • 菲律宾中期选举结果揭晓,马科斯与杜特尔特家族重回“权力的游戏”
  • 体坛联播|热刺追平单赛季输球纪录,世俱杯或创收20亿美元