环境说明:
操作系统 CentOS 7.5
- 相关资源包
| 描述 | 下载 |
|---|---|
| 适用于Linux的Docker离线安装包 | 【】 docker-20.10.9.tgz |
| 适用于Linux的docker-compose离线安装包 | 【】 docker-compose-linux-x86_64 |
| 适用于Linux的Harbor | 【】 harbor-offline-installer-v1.10.11.tgz |
# 解压 tar -zxvf docker-20.10.9.tgz
将解压出来的docker文件复制到 /usr/bin/ 目录下
cp docker/* /usr/bin/1.2 创建并配置docker.service文件
进入/etc/systemd/system/目录,并创建docker.service文件
cd /etc/systemd/system/ touch docker.service
docker.service文件添加以下配置
(注意: --insecure-registry=192.168.0.2 此处改为你自己服务器ip)
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=127.0.0.1 ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. # TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process # restart the docker process if it exits prematurely Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target1.3 执行Docker
赋给docker.service文件添加执行权限
chmod 777 /etc/systemd/system/docker.service
重新加载配置文件(每次有修改docker.service文件时都要重新加载下)
systemctl daemon-reload
启动及自启动设置
systemctl start docker #开启自动启动: systemctl enable docker.service
查询启动状态:
systemctl status docker
#docker 命令正常启动 docker docker images docker --version二:Docker-compose 安装和配置
- 把 Docker-compose组件包移动到/usr/bin目录下
重命名 docker-compose-linux-x86_64 为 docker-compose
mv docker-compose-linux-x86_64 /usr/bin/docker-compose chmod +x /usr/bin/docker-compose docker-compose -v三:Harbor 安装和配置
3.1 解压并配置HarborHarbor 的安装需要Docker 和 Docker-compose的提前安装
- 把下载好的离线安装包解压进入harbor目录
- 修改Hostname,http.port,注释掉https,更改harbor_admin_password
./install.sh
安装并启动成功 默认账号密码 admin/ Harbor12345
- 重启harbor
harbor 通过docker-compose.yml配置文件的形式管理
#停止harbor,停止容器 docker-compose stop # 启动容器 docker-compose up -d # 重启docker引擎,harbor退出问题 # 停止harbor docker-compose down #加载配置文件 ./prepare #启动后台所有服务 docker-compose up -d四:开启远程访问
4.1 开启Docker (默认端口2375) 远程访问默认的dokcer是不支持远程访问的,需要加点配置,开启Docker的远程访问
# 首先查看docker配置文件所在位置
systemctl status docker
# 会输出如下内容:
● docker.service - Docker Application Container Engine
Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-12-17 14:22:23 CST; 18min ago
Docs: http://docs.docker.com
Main PID: 25113 (dockerd)
确定docker配置文件位置在:/etc/systemd/system/docker.service
然后修改该docker.service配置
找到包含ExecStart的这行,添加如下内容:
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock # 笔者修改后的默认配置为 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock4.2 添加harbor镜像配置
- 编辑docker的配置文件 /etc/docker/daemon.json 如果没有该文件就创建 daemon.json
# 添加harbor镜像地址
{
"insecure-registries": ["192.168.0.20:81"]
}
4.3 重启docker服务
# 后台配置重新加载 systemctl daemon-reload # 重启docker服务 systemctl restart docker.service # 此处可能会出现docker无法启动情况,可能是由于docker.service配置文件修改错误,重新修改一次然后重新执行上述命令即可参考资料 & 致谢
[1] centos7.4 docker20最新版本离线安装
[2] 离线安装Harbor
[3] failed to create network error response from daemon filed to setup ip tables问题
[4] IDEA中使用Docker插件构建镜像并推送至私服Harbor
[5] 解决-安装docker后找不到etcdockerdaemon.json文件
[6] 重启docker引擎,harbor退出问题解决



