Docker之安装与配置
Docker之安装与配置
- 一、Docker 环境配置
- 1.基本配置
- 2.镜像加速
- 3. 网络配置
- 4. 数据持久化
- 5. 优化建议
- 6. 常见问题与解决方案
- 7. 补充工具
- 二、Docker 配置本地仓库指南
- 1.拉取 Registry 镜像
- 2.启动本地仓库
- 3.配置 Docker 客户端
- Linux/macOS
- Windows
- 4. 推送镜像到本地仓库
- 标记镜像
- 推送镜像
- 5. 推送镜像到本地仓库
- 6.管理本地仓库
- 7.优化与安全性
- 8.常见问题
一、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. 优化建议
- 限制资源使用:
- 使用 --cpus 和 --memory 参数限制容器的 CPU 和内存使用。
docker run --cpus="1.5" --memory="512m" -d my-image
- 清理无用资源:
- 定期清理未使用的镜像、容器和卷:
docker system prune -f
- 使用 Docker Compose:
- 通过 docker-compose.yml 文件管理多容器应用,简化部署流程。
```bash
docker system prune -f
```
6. 常见问题与解决方案
- Docker Desktop 启动失败:
- 检查是否启用了虚拟化技术(如 Intel VT-x/AMD-V)。
- 确保 WSL 2(Windows)或 HyperKit(macOS)已正确安装。
- 镜像拉取失败:
- 检查网络连接,确保镜像加速器配置正确。
docker system prune -f
- 权限不足:
- Linux 用户需将当前用户加入 docker 组。
7. 补充工具
- Portainer: 用于管理 Docker 容器的 Web 界面:
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
- Docker Compose: 用于定义和运行多容器应用:
- 安装方法
通过以上配置,你可以优化 Docker 环境,确保容器化应用的高效运行。如有其他需求,请参考 Docker 官方文档 。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 本地仓库(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
- -d:后台运行容器。
- -p 5000:5000:将宿主机的 5000 端口映射到容器的 5000 端口。
- –restart always:设置容器随 Docker 启动而自动启动。
3.配置 Docker 客户端
默认情况下,Docker 客户端只能通过 HTTPS 访问仓库。如果需要通过 HTTP 访问本地仓库,需修改 Docker 客户端配置。
Linux/macOS
- 编辑 Docker
配置文件 -/etc/docker/daemon.json :
{
"insecure-registries": ["localhost:5000"]
}
- 重启 Docker 服务 :
sudo systemctl restart docker
Windows
- 打开 Docker Desktop,进入Settings-> Docker Engine:
- 修改daemon.json文件,添加以下内容:
"insecure-registries": ["localhost:5000"]
- 点击“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.管理本地仓库
- 查看仓库中的镜像: 使用以下命令查看本地仓库中的镜像
curl -X GET http://localhost:5000/v2/_catalog
- 删除仓库中的镜像: 删除本地仓库中的镜像需要手动删除存储目录中的文件。首先找到仓库的存储路径(默认为 /var/lib/registry ),然后删除对应的文件。
7.优化与安全性
- 启用认证: 为本地仓库配置用户名和密码,提升安全性
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
- 启用 HTTPS: 为本地仓库配置 SSL 证书,确保数据传输安全。
8.常见问题
- 无法推送镜像:
- 仓库访问慢:检查 Docker 客户端配置是否正确,确保insecure-registries 已添加。
- 确保本地仓库容器正在运行。
- 仓库访问慢:
- 检查网络连接,确保本地仓库所在服务器的性能足够。
通过以上步骤,你可以成功配置并使用 Docker 本地仓库,实现镜像的高效管理和分发。如有其他需求,请参考 Docker 官方文档 。