您的位置:首页 > 运维架构 > Docker

Nexus3搭建Docker私有仓库并push镜像

2017-11-21 12:02 766 查看
在前面的文章中,我们已经安装好了docker,也已启动了Nexus3,接下来我们就在Nexus3中搭建一个docker的私服。

首先,打开Nexus3首页登录(默认用户名为admin、默认密码为admin123)。

接下来,我们创建docker的私有仓库,按照下图中的方式依次点击后即可打开新建界面。



在新建的页面中,选择你需要创建的仓库类型,有proxy、hosted和group三种,我在这只演示hosted,其他的都大同小异。

在新建hosted类仓库的时候,主要设置仓库名称和端口号,仓库名称可以自己起一个,端口号可根据需要选择http或者是https,因为我这都在内网,所以就选用了http。

一切操作完毕后,我们保存即可。

在nexus中创建完私服后,我们需要在docker中配置下,因为我们启用的是http端口,所以首先需要修改下docker的配置文件,执行以下命令:

vi /etc/systemd/system/multi-user.target.wants/docker.service在打开的文件中增加下面红色的文字(就是刚才的在创建仓库时的主机IP和http的端口):
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service
Requires=docker-cleanup.timer

[Service]
Type=notify
NotifyAccess=all
EnvironmentFile=-/run/containers/registries.conf
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=DOCKER_HTTP_HOST_COMPAT=1
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
ExecStart=/usr/bin/dockerd-current \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
--insecure-registry=8.8.8.8:8888 \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY\
$REGISTRIES
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
Restart=on-abnormal
MountFlags=slave
KillMode=process

[Install]
WantedBy=multi-user.target

修改完毕保存后,还需要执行以下命令:
systemctl daemon-reload
service docker restart

到目前为止Docker已经配置重启完毕,接下来我们将本地的一些镜像上传到nexus仓库中。
1、登录私服,执行完下面的命令后输入用户名密码(Nexus的默认用户名为admin、默认密码为admin123):

docker login 8.8.8.8:8888

2、给你要上传的镜像打个tag,命令如下:
docker tag <imageId or imageName> <nexus-hostname>:<repository-port>/<image>:<tag>例如:
docker tag your-images 8.8.8.8:8888/your-images:latest

3、上传镜像到nexus仓库,执行一下命令:
docker push 8.8.8.8:8888/your-images:latest

到此为止,镜像已push完毕。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息