1.linux裝好容器環境。
CentOS:yum -y install docker Ubuntu:apt install docker.io
記得創建下軟連接:加速地址去阿里雲登錄進行配置。
cd /usr/libexec/docker/
ln -s docker-runc-current docker-runc
2.使用容器界面管理工具portainer,注意主機端口是否已被使用,已經掛載目錄是否創建。
docker run -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /data/docker/portainer:/data portainer/portainer
3.訪問部署portainer。http://ip:9000,首次登錄需要設置密碼,選擇local。然後選擇App Template,選擇Registry。
看我的配置圖:
部署成功之後,訪問http://ip:5000/v2/_catalog,因爲你還沒push,所以啥都沒有。
接下來,可以去你裝好docker環境的linux裏面去官方隨便拉一個鏡像,或者你本地已經有鏡像都可以。我這裏以nginx爲例
docker pull nginx:latest
docker tag nginx:latest ip:5000/nginx:v1
push之前需要配置/etc/docker/daemon.json
加上 "insecure-registries": ["192.168.168.225:5000"] 屬性。
然後刷新重啓docker:systemctl daemon-reload & systemctl restart docker
docker push ip:5000/nginx:v1
再嘗試訪問http://ip:5000/v2/_catalog
能看到東西,說明成功了。
接着嘗試刪除本地nginx鏡像:docker rmi nginx:latest
然後再拉取本地私服鏡像:docker pull ip:5000/nginx:v1
好了,介紹這麼多我也不想多說了。直接來說下cicd配置文件吧。
其實玩過dockerfile的童鞋都知道怎麼弄,我就直接說關鍵點了。或者你看看這篇文章
image: 192.168.168.225:5000/maven:3.6.1-jdk-8
variables:
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true"
cache:
paths:
- .m2/repository
stages:
- compile
compile:
stage: compile
script:
- pwd
- ls
- mvn -f ./ $MAVEN_CLI_OPTS compile
tags:
- runner
only:
- master