(一)
以下全部操作都是同一臺主機,規格:4核8G
以下全部使用root使用者進行操作,都在同一臺主機進行的。
1、Docker的安裝
yum install -y yum-utils device-mapper-persistent-data lvm2
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum makecache fast
yum -y install docker-ce-18.06.1.ce-3.el7
systemctl enable docker
systemctl start docker
docker --version複製程式碼
2、Docker加速
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://vg0bksne.mirror.aliyuncs.com"]
}
EOF
systemctl restart docker
# 配置網易的加速。。。複製程式碼
3、將docker的harbor寫好
vim /etc/docker/daemon.json加上這段,這段就是為了和harbor通訊用的。
"insecure-registries":["172.16.6.110:8888"]
加完後:
{
"registry-mirrors": ["https://vg0bksne.mirror.aliyuncs.com"],
"insecure-registries":["172.16.6.158:8888"]
}
重啟一下docker
systemctl restart docker複製程式碼
4、Jenkins安裝
(1)這張安裝會導致不能使用本地docker
# docker 安裝Jenkins,
# 掛載 目錄/data/jenkins需要chown -R 1000.1000 /data/jenkins
docker run -itd --name jenkins -p 8080:8080 -v /data/jenkins:/var/jenkins_home jenkins/jenkins:lts
#mvn 可以掛載; jvm 可以掛載。
(2) 為了解決無法使用本地docker的問題
# Jenkins的dockerfile
cat > Dockerfile.yml << EOF
FROM jenkins/jenkins:2.138.4
USER root
ARG dockerGid=994
RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group
RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y libltdl7 && apt-get update
RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers
EOF
# 將這個Jenkins做成映象
docker build -f Dockerfile.yml -t jenkins:test .
# 當然就是啟動啦...
docker run -itd -p 8080:8080 --name jenkins \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/mv:/usr/bin/mv \
-v /usr/java/jdk1.8.0_231/bin/java:/usr/bin/jdk1.8.0_191/java \
-v /usr/java/jdk1.8.0_231:/var/local/jdk1.8.0_191 \
-v /usr/local/apache-maven-3.6.3:/var/local/apache-maven-3.6.0 \
-v /data/jenkins:/var/jenkins_home jenkins:test
備註:因官方版的Jenkins使用者是jenkins,沒有root,且不能用主機的docker命令
因此,這樣改動後,方便於直接在同一臺機器上直接構建成映象,然後進行推送到harbor中。
當然,你也可以直接用一臺機器作為docker的,然後用Jenkins的外掛進行遠端打映象(不過需要遠端傳war這些包)複製程式碼
5、gitlab
#docker 安裝gitlab:
docker pull beginor/gitlab-ce:11.0.1-ce.0
------------------------------------------
# 用於資料夾的掛載
mkdir -p /data/gitlab/etc && mkdir -p /data/gitlab/log && mkdir -p /data/gitlab/data
------------------------------------------
docker run \
--detach \
--publish 9090:9090 \
--name gitlab \
--restart unless-stopped \
-v /data/gitlab/etc:/etc/gitlab \
-v /data/gitlab/log:/var/log/gitlab \
-v /data/gitlab/data:/var/opt/gitlab \
beginor/gitlab-ce:11.0.1-ce.0
先這樣用docker run一下,等啟動後再修改配置。
注意,等gitlab完全啟動後再修改配置,可以看日誌是否啟動完成。
後面就修改這個配置:
vim /data/gitlab/etc/gitlab.rb
# 修改成這兩個:
external_url 'http:172.16.6.110//:9090'複製程式碼
nginx['listen_port'] = 9090
# 用於檢視gitlab 容器情況
docker logs -t -f 容器id複製程式碼
6、Docker Harbor的安裝
(1)安裝Docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
複製程式碼
(2)指令碼安裝docker-harbor
wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-online-installer-v1.8.0.tgz 複製程式碼
tar -zxvf harbor-online-installer-v1.8.0.tgz 複製程式碼
cat harbor.yml |grep hostname複製程式碼
修改相應的引數,主要就是這個hostname,改成你的ip就行了。
然後在目錄下,直接執行
sh install.sh複製程式碼
等待安裝完成就行了。
到此,安裝部分就告一段落。。。
全部重要的元件都在一臺上完成了。