1. 程式人生 > >Nexus3搭建Docker私有倉庫並push映象

Nexus3搭建Docker私有倉庫並push映象

在前面的文章中,我們已經安裝好了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完畢。