Docker之安装与配置

一、Docker 环境配置

Docker 环境配置是确保容器化应用顺利运行的关键步骤。以下是针对不同操作系统的 Docker 环境配置方法,包括基本设置、优化建议和常见问题解决方案。

1.基本配置

Windows/macOS
1.启动 Docker Desktop

  • 安装完成后,启动 Docker Desktop,等待状态栏显示“Docker is running”。

2.配置资源限制

  • 打开 Docker Desktop,进入 Settings -> Resources
  • 根据系统性能调整 CPU、内存和磁盘空间分配(建议内存至少 4GB)。

3.启动 Docker Desktop

  • Settings -> Kubernetes 中勾选 Enable

Linux
1.启动 Docker 服务

sudo systemctl start docker 
sudo systemctl enable docker 

2.配置用户权限

  • 将当前用户加入 docker 组,避免每次使用 sudo:
sudo usermod -aG docker $USER 
newgrp docker 

2.配置资源限制

  • 打开 Docker Desktop,进入“Settings” -> “Resources”。。
  • 根据系统性能调整 CPU、内存和磁盘空间分配(建议内存至少 4GB)。

3.启动 Docker Desktop

  • 在“Settings” -> “Kubernetes”中勾选“Enable Kubernetes”。

2.镜像加速

为了加快 Docker 镜像的下载速度,可以配置国内镜像加速器。
配置方法
1.修改 Docker 配置文件

  • Windows/macOS:打开 Docker Desktop,进入Settings -> Docker Engine,修改daemon.json
    {
      "registry-mirrors": [
        "https://registry.docker-cn.com", 
        "https://hub-mirror.c.163.com" 
      ]
    }
    
  • Linux:编辑 /etc/docker/daemon.json 文件,添加上述内容。

2.重启 Docker 配置文件

  • Windows/macOS:点击“Apply & Restart”。
  • Linux:运行以下命令:
    sudo systemctl restart docker 
    

3. 网络配置

Docker 默认使用桥接网络,可以根据需求配置自定义网络。
创建自定义网络

docker network create my-network 

指定容器使用自定义网络

docker run --name my-container --network my-network -d my-image 

4. 数据持久化

Docker 容器默认是临时性的,数据会随容器删除而丢失。可以通过挂载卷(Volume)实现数据持久化。
创建并挂载卷

docker volume create my-volume 
docker run --name my-container -v my-volume:/data -d my-image 

挂载主机目录

docker run --name my-container -v /host/path:/container/path -d my-image 

5. 优化建议

  1. 限制资源使用:
    • 使用 --cpus --memory 参数限制容器的 CPU 和内存使用。
    docker run --cpus="1.5" --memory="512m" -d my-image 
    
  2. 清理无用资源:
    • 定期清理未使用的镜像、容器和卷:
    docker system prune -f 
    
  3. 使用 Docker Compose:
    - 通过 docker-compose.yml 文件管理多容器应用,简化部署流程。
```bash
docker system prune -f 
```

6. 常见问题与解决方案

  1. Docker Desktop 启动失败:
    • 检查是否启用了虚拟化技术(如 Intel VT-x/AMD-V)。
    • 确保 WSL 2(Windows)或 HyperKit(macOS)已正确安装。
  2. 镜像拉取失败:
    • 检查网络连接,确保镜像加速器配置正确。
    docker system prune -f 
    
  3. 权限不足:
    - Linux 用户需将当前用户加入 docker 组。

7. 补充工具

  1. Portainer: 用于管理 Docker 容器的 Web 界面:
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock  portainer/portainer 
  1. Docker Compose: 用于定义和运行多容器应用:
    • 安装方法
    sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname  -s)-$(uname -m)" -o /usr/local/bin/docker-compose 
    sudo chmod +x /usr/local/bin/docker-compose 
    
    通过以上配置,你可以优化 Docker 环境,确保容器化应用的高效运行。如有其他需求,请参考 Docker 官方文档

二、Docker 配置本地仓库指南

Docker 本地仓库(Registry)用于存储和管理 Docker 镜像,适合在本地网络环境中快速分发镜像。以下是配置本地仓库的详细步骤。

1.拉取 Registry 镜像

  首先,从 Docker Hub 拉取官方的 Registry 镜像:
docker pull registry:2 

2.启动本地仓库

  使用以下命令启动一个本地仓库容器:
docker run -d -p 5000:5000 --name my-registry --restart always registry:2 
  1. -d:后台运行容器。
  2. -p 5000:5000:将宿主机的 5000 端口映射到容器的 5000 端口。
  3. –restart always:设置容器随 Docker 启动而自动启动。

3.配置 Docker 客户端

  默认情况下,Docker 客户端只能通过 HTTPS 访问仓库。如果需要通过 HTTP 访问本地仓库,需修改 Docker 客户端配置。
Linux/macOS
  1. 编辑 Docker
    配置文件 -/etc/docker/daemon.json
{
  "insecure-registries": ["localhost:5000"]
}
  1. 重启 Docker 服务 :
sudo systemctl restart docker 
Windows
  1. 打开 Docker Desktop,进入Settings-> Docker Engine
  2. 修改daemon.json文件,添加以下内容:
"insecure-registries": ["localhost:5000"]
  1. 点击“Apply & Restart重启 Docker。

4. 推送镜像到本地仓库

标记镜像

使用 docker tag 命令为镜像添加本地仓库地址:

docker tag my-image localhost:5000/my-image 
推送镜像

使用docker push 命令将镜像推送到本地仓库:

docker push localhost:5000/my-image 

5. 推送镜像到本地仓库

使用docker pull 命令从本地仓库拉取镜像:

<kbd>docker pull</kbd> 

6.管理本地仓库

  1. 查看仓库中的镜像: 使用以下命令查看本地仓库中的镜像
curl -X GET http://localhost:5000/v2/_catalog 
  1. 删除仓库中的镜像: 删除本地仓库中的镜像需要手动删除存储目录中的文件。首先找到仓库的存储路径(默认为 /var/lib/registry ),然后删除对应的文件。

7.优化与安全性

  1. 启用认证: 为本地仓库配置用户名和密码,提升安全性
docker run -d -p 5000:5000 --name my-registry --restart always \
 -v /path/to/auth:/auth \
 -e "REGISTRY_AUTH=htpasswd" \
 -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
 -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
 registry:2 

使用 htpasswd 工具生成密码文件:

htpasswd -Bbn myuser mypassword > /path/to/auth/htpasswd 
  1. 启用 HTTPS: 为本地仓库配置 SSL 证书,确保数据传输安全。

8.常见问题

  1. 无法推送镜像
  • 仓库访问慢:检查 Docker 客户端配置是否正确,确保insecure-registries 已添加。
  • 确保本地仓库容器正在运行。
  1. 仓库访问慢
  • 检查网络连接,确保本地仓库所在服务器的性能足够。

通过以上步骤,你可以成功配置并使用 Docker 本地仓库,实现镜像的高效管理和分发。如有其他需求,请参考 Docker 官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨五夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值