# docker-install **Repository Path**: brianchou/docker-install ## Basic Information - **Project Name**: docker-install - **Description**: 一键安装Docker及其常用插件的脚本集合,简化部署流程,适用于多种环境。 - **Primary Language**: Shell - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-09 - **Last Updated**: 2025-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: Docker ## README # Docker CE自动化部署 [toc] ## 获取代码 ```shell git clone https://gitee.com/brianchou/docker-install.git ``` ## 离线部署 ### 获取安装包 通过`uname -m` 获取CPU架构。 - `aarch64`或`arm64`,在浏览器上访问以下地址,下载到`aarch64`目录。 ```shell https://brianhsiung.oss-cn-hangzhou.aliyuncs.com/deploy/docker/aarch64/buildx-v0.17.1.linux-arm64 https://brianhsiung.oss-cn-hangzhou.aliyuncs.com/deploy/docker/aarch64/docker-27.3.1.tgz https://brianhsiung.oss-cn-hangzhou.aliyuncs.com/deploy/docker/aarch64/docker-compose-linux-aarch64 https://brianhsiung.oss-cn-hangzhou.aliyuncs.com/deploy/docker/aarch64/runc.arm64 ``` - `x86_64`或`amd64`,在浏览器上访问以下地址,下载到`x86_64`目录。 ```shell https://brianhsiung.oss-cn-hangzhou.aliyuncs.com/deploy/docker/x86_64/buildx-v0.17.1.linux-amd64 https://brianhsiung.oss-cn-hangzhou.aliyuncs.com/deploy/docker/x86_64/docker-27.3.1.tgz https://brianhsiung.oss-cn-hangzhou.aliyuncs.com/deploy/docker/x86_64/docker-compose-linux-x86_64 https://brianhsiung.oss-cn-hangzhou.aliyuncs.com/deploy/docker/x86_64/runc.amd64 ``` - 如果要获取其它版本,则访问以下地址下载。 ```shell # docker https://docs.docker.com/engine/ https://download.docker.com/linux/static/stable/ # docker-compose https://docs.docker.com/compose/install/linux/ # buildx https://github.com/docker/buildx/releases # runc https://github.com/opencontainers/runc/releases # docker-ce <清华,阿里,腾讯> https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/ https://mirrors.aliyun.com/docker-ce/linux/static/stable/ https://mirrors.tencent.com/docker-ce/linux/static/stable/ ``` ### 执行安装 #### 环境变量 根据情况修改脚本`install_docker_offline.sh`。 - 如果安装的`docekr`版本不是`27.3.1`,`buildx`的版本不是`v0.17.1`,则需要修改对应的值。 - `docker`默认的数据存储目录为`/var/lib/docker`, 如果磁盘空间过小,则考虑存储到数据目录或扩容磁盘。 - 如果使用`http`或自签证书的镜像仓库,则需要配置`PRIVATE_REGISTRY`。 - 如果需要修改`docker`默认网段,则修改`DOCKER_NETWORK`。 | 环境变量 | 说明 | 示例 | | ---------------- | ------------------ | --------------- | | DOCKER_VERSION | docker版本 | 27.3.1 | | BUILDX_VERSION | buildx版本 | v0.17.1 | | DOCKER_ROOT_DIR | docker数据存储目录 | /var/lib/docker | | PRIVATE_REGISTRY | 私有镜像仓库地址 | 172.26.85.156 | | DOCKER_NETWORK | docker默认网段 | 192.168.66.1/24 | #### 执行安装 在服务器上执行以下命令创建安装目录,本例是在`/tmp`下创建安装目录。 ```shell mkdir -p /tmp/docker_install ``` 上传脚本`install_docker_offline.sh` 和本地的`x86_64`或`aarch64`到`/tmp/docker_install`,目录结构如下。 - **aarch64或arm64** **** ![QQ_1742786416864](README.assets/QQ_1742786416864.png) - **x86_64或amd64** ![QQ_1742786545738](README.assets/QQ_1742786545738.png) 执行以下命令安装。 ```shell cd /tmp/docker_install bash install_docker_offline.sh ``` ## 在线部署 > 服务器可访问外网时,使用脚本`install_docker_online.sh`进行部署。 > > 脚本适配了Alibaba Cloud Linux,Centos 7.x和8.x,fedora, Red Hat,Ubuntu 和 Debian,TencentOS Server 3和4,opencloudos 8和9的在线安装。 > > 华为的EulerOS或openEuler默认安装docker-engine:18.09.0,服务器重启后,容器不会自动重启,只能通过`docker-compose down -v && docker-compose up -d`重建容器,不建议使用此版本,请采用离线部署! ### 执行安装 修改脚本`install_docker_online.sh`,根据实际情况修改脚本上的下列值。 | 环境变量 | 说明 | 示例 | | ---------------- | ---------------------------------------- | --------------------------------- | | DOCKER_ROOT_DIR | docker数据存储目录 | /var/lib/docker | | PRIVATE_REGISTRY | 私有镜像仓库地址 | 172.26.85.156 | | DOCKER_NETWORK | docker默认网段 | 192.168.66.1/24 | | REGISTRY_MIRRORS | 镜像加速器地址(只在对应的云服务上可用) | https://mirror.ccs.tencentyun.com | 将脚本上传至服务器的任意目录,并执行以下命令安装。 ```shell bash install_docker_online.sh ``` 请注意,在一些操作系统中(比如:TencentOS Server 4 和 opencloudos 9)存在`/etc/sysconfig/docker` ,其配置了`--live-restore`,其表示允许重启`docker`服务而不重启容器。根据实际需求保留或删除。 ![QQ_1742885560329](README.assets/QQ_1742885560329.png) 其被`/usr/lib/systemd/system/docker.service`引用。 ![QQ_1742885815314](README.assets/QQ_1742885815314.png) ## 验证 通过以下命令验证。 ```shell sudo systemctl status docker ``` 输出如下图,状态为`active (running)` ![QQ_1742810957348](README.assets/QQ_1742810957348.png)