Docker学习系列之一——私有docker yum源环境搭建

出于内外网隔离的需求或者外网网络性能等需求,需要在公司内部搭建docker的yum私有源,方便内部进行docker的安装时直接使用yum指令进行

  • step 1 同步远程的文件 找一台磁盘空间足够大且能够访问download.docker.com的服务器,将download.docker.com的全部静态资源进行同步,使用如下指令:

    	mkdir /repo
    	cd /repo 
    
    	wget -m https://download.docker.com/linux/centos/7/x86_64/stable/
    

    如果只想同步x86_64/stable下的内容可以使用

    	wget -m --no-parent https://download.docker.com/linux/centos/7/x86_64/stable/
    

    全部同步下来大概100G的空间

  • step 2 配置Nginx,内网可以通过http进行访问

Nginx是很好的静态资源访问的HTTP服务器

Nginx的安装可以参见网络资源,配置nginx的虚拟主机:

server {
    listen       80;
    server_name  download.docker.com; # 虚拟主机的主机名

    #charset koi8-r;

    location / {
        root   /repo/download.docker.com/; #目录指向同步的目录
        autoindex on;
    }
}


需要注意的是download.docker.com需要内网DNS进行解析或者是手动进行本地的DNS映射 手动指定linux上就在/etc/hosts文件中追加记录即可,如图:

  • step 3 yum源的配置

检测机器是否能访问download.docker.com 如果不能访问,则在/etc/hosts上追加记录进行映射或者联系网络管理员查看DNS配置是否正确

在客户机器上的/etc/yum.repos.d/目录下创建文件 docker-ce.repo文件,也可以直接通过curl下载:

cd /etc/yum.repos.d/
curl http://download.docker.com/linux/centos/docker-ce.repo -o docker-ce.repo
  • step 4 安装docker
yum -y install docker-ce

一般来说都能安装成功

  • step 5 启动dockerd

进入到/lib/systemd/system目录中,添加文件docker.service,内容如下:

[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 --data-root=/data/docker 
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.target

注意 --data-root对应的目录如果不存在启动会失败,也可以不指定--data-root,详细可以参考dockerd的配置选项

systemctl enable docker.service 
systemctl start docker.service 
docker info  #查看docker的信息

小结:

在内网环境下搭建私有的yum可以更加方便和快速的进行docker的安装,可以配合配置管理工具快速的部署多台docker服务器,下一篇会介绍如何使用nexus配置docker的私有registry和proxy registry,方便在内网直接拉去dockerhub上的镜像

转载于:https://my.oschina.net/hulingfeng/blog/2051322

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值