centos7 安装docker及搭建私有仓库

一、安装准备

  1. 必须是 64 位操作系统
  2. 内核在 3.10 以上【最后centos7及以上,不推荐单独升级内核】

如果不满足以上两个条件,就不用往下看了

二、安装

  1. 先手动更新yum源安装包

yum update

  1. 使用yum安装docker

yum install docker -y
说明:系统自带源安装的版本是1.12.6,如果要安装高版本的docker,请看第五点

  1. 查看版本

docker -v

  1. 启动

systemctl start docker

  1. 开机自启动

systemctl enable docker

三、docker最常用命令

  1. 停止某个容器,docker stop containerId
  2. 查看运行的容器,docker ps
  3. 启动容器(后台模式) docker run -d …
  4. 查看安装镜像,docker images
  5. 删除一个容器,docker rm containerId/name
  6. 下载镜像,docker pull nginx,从官网docker仓库下载,慢
  7. 删除镜像,docker rmi imageID

四、私仓搭建

  1. 准备两台机器或者虚拟机

192.168.1.138:Docker仓库
192.168.1.191:客户端

  1. 在138这台机器下载官方registry

docker pull registry

  1. 防火墙添加运行5000端口

iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT

  1. 通过该镜像启动一个容器

docker run -d -p 5000:5000 --privileged=true -v /opt/registry:/var/lib/registry registry
参数说明:
-v /opt/registry:/var/lib/registry:默认情况下,会将仓库存放于容器内的/var/lib/registry目录下,指定本地目录挂载到容器

  1. 客户端上传镜像
  • 修改/etc/sysconfig/docker
    找到OPTIONS在其后面追加’–insecure-registry 192.168.0.179:5000’

因为Docker从1.3.X之后,与docker registry交互默认使用的是https,而此处搭建的私有仓库只提供http服务

  • 在docker公共仓库下载一个镜像
    docker pull docker.io/centos

  • 修改一下该镜像的tag

docker tag centos 192.168.1.138:5000/centos

  • 把打了tag的镜像上传到私有仓库
    docker push 192.168.1.138:5000/centos
  1. 在191机器上下载刚上传的镜像
  • 修改/etc/sysconfig/docker,添加
    ADD_REGISTRY=‘–add-registry 192.168.0.179:5000’

  • 使用docker pull centos下载私仓的镜像

说明:
如果是用https就不用修改/etc/sysconfig/docker,如果没有添加ADD_REGISTRY且在获取镜像时没有加地址,则默认从官方下载镜像。此时要从自己的仓库须加域名或ip,比如:docker pull web.site:1433/nginx

五、安装高版本docker

  1. 下载yum源

wget -P /etc/yum.repos.d/ https://download.docker.com/linux/centos/docker-ce.repo

  1. 使用yum install docker-ce安装
  2. 配置docker加速器

vi /etc/systemd/system/multi-user.target.wants/docker.service ,在文中找到 ExecStart=这一行,加上在阿里云获取的加速器地址,如:ExecStart=/usr/bin/dockerd --registry-mirror=https://7jdd4k48.mirror.aliyuncs.com

六、注意事项

  1. 在1.13之前 安装时/etc/docker/daemon.json自动生成,之后版本已经没有该文件了

因为在1.13后推荐不要使用 /etc/docker/daemon.json 文件对引擎进行配置, 原本使用配置文件是件好事,比如修改配置不必重启服务,只需发送 SIGHUP 信号即可,但是目前在dockerd中使用配置文件有一些问题,无法得知具体哪项生效了,启动日志以及 docker info,还有 ps -ef 都不会给出生效配置,这对于排障很不方便。
当 dockerd 的参数和daemon.json文件中的配置有所重复或者冲突,会直接导引擎启动失败。
因此在这些问题解决前,先使用修改 docker.service 这类做法来实现。

  1. 因为CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误(OSError: [Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary’)或者(Received unexpected HTTP status: 500 Internal Server Error)错误。或者直接将selinux设置成disabled
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 在CentOS 7上安装Docker私有仓库的步骤如下: 1. 首先,确保已经安装Docker。如果没有安装,请使用以下命令安装: ``` sudo yum install docker ``` 2. 接下来,创建一个目录来存储私有仓库镜像和数据: ``` sudo mkdir /opt/docker-registry ``` 3. 使用以下命令启动私有仓库容器: ``` sudo docker run -d -p 5000:5000 --name registry \ -v /opt/docker-registry:/var/lib/registry \ registry:2 ``` 此命令将从Docker Hub下载最新版本的Registry镜像,并将其启动在名为“registry”的容器中。容器将在本地端口5000上监听传入的连接,并将所有的镜像和数据存储在“/opt/docker-registry”目录中。 4. 配置Docker客户端以使用私有仓库。在需要使用私有仓库的机器上,编辑或创建“/etc/docker/daemon.json”文件,将以下内容添加到其中: ``` { "insecure-registries": ["myregistrydomain.com:5000"] } ``` 将“myregistrydomain.com”替换为私有仓库的主机名或IP地址。此配置告诉Docker客户端,可以信任指定的私有仓库,允许从该仓库拉取镜像。 5. 重新启动Docker守护程序: ``` sudo systemctl restart docker ``` 现在,您可以将镜像推送到私有仓库中,并从该仓库拉取镜像。例如,要将名为“myimage”的镜像推送到私有仓库,请执行以下命令: ``` sudo docker tag myimage myregistrydomain.com:5000/myimage sudo docker push myregistrydomain.com:5000/myimage ``` 要从私有仓库中拉取该镜像,请使用以下命令: ``` sudo docker pull myregistrydomain.com:5000/myimage ``` ### 回答2: 在CentOS7安装Docker私有仓库可以按照以下步骤进行: 步骤1:安装Docker 首先,你需要在CentOS7安装Docker。可以通过执行以下命令来安装最新版本的Docker: ``` sudo yum install docker ``` 步骤2:启动Docker服务 安装完成后,启动Docker服务: ``` sudo systemctl start docker ``` 步骤3:下载Docker私有仓库镜像 接下来,我们需要下载Docker私有仓库镜像。可以通过运行以下命令来下载最新版本的Docker仓库镜像: ``` sudo docker pull registry ``` 步骤4:创建Docker私有仓库容器 下载完镜像后,我们需要创建Docker私有仓库容器。可以运行以下命令: ``` sudo docker run -d -p 5000:5000 --restart=always --name registry registry ``` 这样就创建了一个名为“registry”的Docker私有仓库容器,并将其映射到主机的5000端口。 步骤5:测试私有仓库 现在,我们可以测试私有仓库是否正常工作。可以通过运行以下命令在私有仓库中创建一个映像: ``` sudo docker tag <镜像名> localhost:5000/<镜像名> sudo docker push localhost:5000/<镜像名> ``` 然后,从私有仓库中拉取这个映像: ``` sudo docker pull localhost:5000/<镜像名> ``` 如果能够成功创建和拉取映像,说明Docker私有仓库已经安装并运行成功。 步骤6:设置Docker客户端使用私有仓库 如果你希望在其他机器上访问私有仓库,需要在每个Docker客户端上修改Docker配置文件。打开配置文件`/etc/docker/daemon.json`,添加以下内容: ``` { "insecure-registries" : ["<私有仓库地址>:5000"] } ``` 保存并关闭文件后,重新启动Docker服务: ``` sudo systemctl restart docker ``` 现在,你可以在其他Docker客户端上使用私有仓库了。 这就是在CentOS7安装Docker私有仓库的步骤。希望对你有所帮助。 ### 回答3: 在CentOS 7中安装Docker私有仓库需要以下步骤: 1. 安装Docker:首先,需要安装Docker Engine,可以使用以下命令进行安装: ``` sudo yum install docker -y ``` 2. 启动Docker服务:安装完成后,启动并激活Docker服务: ``` sudo systemctl start docker sudo systemctl enable docker ``` 3. 创建Docker私有仓库容器:使用以下命令创建并启动Docker私有仓库容器: ``` sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2 ``` 这将在本地主机的5000端口上启动私有仓库容器,并设置自动启动。 4. 配置Docker客户端:为了让Docker客户端能够与私有仓库通信,需要在客户端的Docker配置文件中添加以下内容: ``` sudo vi /etc/docker/daemon.json ``` 在打开的文件中添加以下内容保存并退出: ``` { "insecure-registries" : ["your-registry-domain:5000"] } ``` 将"your-registry-domain"替换为您的主机名或IP地址。 5. 重启Docker服务:在修改Docker配置文件后,重启Docker服务使其生效: ``` sudo systemctl restart docker ``` 至此,在CentOS 7中安装和配置了Docker私有仓库。您可以通过使用Docker命令将镜像推送到私有仓库,并在其他主机上使用该仓库进行拉取和部署镜像

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kse_music

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

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

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

打赏作者

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

抵扣说明:

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

余额充值