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

embedded/2025/3/4 10:58:52/

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'

http://www.ppmy.cn/embedded/169898.html

相关文章

基于RK3588的重症监护信息系统应用解决方案

重症监护信息系统是医院临床信息系统的重要组成部分&#xff0c;也是医院信息化建设的重要组成部分。通过集成化的电子病历、实时监测、决策支持等功能&#xff0c;提高重症患者的诊疗效率和质量。 图片来源于网络 重症监护信息系统主要由数据信息采集单元、信息处理单元、通信…

C# 实现鼠标轨迹录制与回放自动化功能(附源码)

在软件自动化测试或者重复性办公任务中&#xff0c;鼠标操作的自动化可以大大减少人工干预&#xff0c;提高工作效率。这里将详细介绍如何使用 C# 实现鼠标轨迹的录制与回放功能&#xff0c;代码结构清晰&#xff0c;具有较强的扩展性。 引用 NuGet 包 在开发这个功能时&…

SpringMVC学习(入门案例思路及实现、Web容器初始化与SpringMVC配置类)(2)

目录 一、SpringMVC入门案例实现思路。 &#xff08;1&#xff09;核心依赖坐标分析。 &#xff08;2&#xff09;控制器类及其所使用注解分析。 &#xff08;3&#xff09;SpringMVC配置类及所使用注解分析。 &#xff08;4&#xff09;Tomcat启动时加载SpringMVC配置。(Web容…

ECS单机部署Hadoop

ECS单机部署Hadoop 系统准备 更新系统 sudo yum update -y sudo yum install -y wget vim net-tools openssh-server关闭防火墙 sudo systemctl stop firewalld -- 关闭防火墙 sudo systemctl disable firewalld -- 禁止自启动 sudo systemctl status firewalld -- 查看防…

(十 八)趣学设计模式 之 观察者模式!

目录 一、 啥是观察者模式&#xff1f;二、 为什么要用观察者模式&#xff1f;三、 观察者模式的实现方式四、 观察者模式的优缺点五、 观察者模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;…

蓝桥杯web第三天

展开扇子题目&#xff0c; #box:hover #item1 { transform:rotate(-60deg); } 当悬浮在父盒子&#xff0c;子元素旋转 webkit display: -webkit-box&#xff1a;将元素设置为弹性伸缩盒子模型。-webkit-box-orient: vertical&#xff1a;设置伸缩盒子的子元素排列方…

webpack一篇

目录 一、构建工具 1.1简介 二、Webpack 2.1概念 2.2使用步骤 2.3配置文件&#xff08;webpack.config.js&#xff09; mode entry output loader plugin devtool 2.4开发服务器&#xff08;webpack-dev-server&#xff09; grunt/glup的对比 三、Vite 3.1概念 …

mask2former训练自己的分割数据集(包含遇见的问题及解决办法)

一、环境配置 1.1 下载所需源码 mask2former: https://github.com/facebookresearch/Mask2Former/tree/main detectron2: https://github.com/facebookresearch/detectron2 解压后&#xff0c;将两个文件夹放置同一目录。 1.2 配置环境 1&#xff09;anaconda下新建并激…