這是我在ubuntu上的docker內安裝Gitlab、Jenkins的筆記,有興趣的請參考
1.安裝Gitlab
sudo mkdir -p /docker_data sudo docker network create mycicd docker network ls
docker run -d --name gitlab \ --hostname host.example.com \ -p 8088:8088 \ -p 8002:22 \ --network mycicd \ --privileged --restart always \ -v /docker_data/gitlab/data:/var/opt/gitlab \ -v /docker_data/gitlab/config:/etc/gitlab \ -v /docker_data/gitlab/logs:/var/log/gitlab \ gitlab/gitlab-ce
2.改GitLab設定
docker exec -it gitlab bash vi /etc/gitlab/gitlab.rb
# external_url 'GENERATED_EXTERNAL_URL' external_url 'http://host.example.com:8088' # nginx['listen_port'] = nil nginx['listen_port'] = 8088 # gitlab_rails['gitlab_shell_ssh_port'] = 22 gitlab_rails['gitlab_shell_ssh_port'] = 8002
docker restart gitlab docker ps |grep gitlab
註: 若主機要連請在hosts檔加入host.example.com與IP對應
3.依網路上說http://host.example.com:8088可用root密碼登入,
但我登不進去,最後就直接進入gitlab container改root密碼:
docker exec -it gitlab bash
進入container後
gitlab-rails console -e production
進入rail畫面
user = User.where(id: 1).first user.password = '88888888' user.password_confirmation = '88888888' user.save exit
4.安裝Jenkins
(1)設定路徑、檔案權限
mkdir -p /docker_data/jenkins/
chown -R 1000:1000 /docker_data/jenkins/
chmod 655 /root/.kube/config
(2)vi Dockerfile
FROM jenkins/jenkins:lts USER root RUN apt-get update \ && apt-get install -y apt-utils \ && apt-get install -y sudo \ && apt-get install -y libltdl7 \ && rm -rf /var/lib/apt/lists/* RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers USER jenkins
打包image : jenkins
docker build -t jenkins:sudo .
參考: https://hub.docker.com/r/jenkins/jenkins
(3)啟動Jenkins
vi jenkins.sh
docker run \ --name jenkins \ -d --restart always \ -p 8080:8080 -p 50000:50000 \ --network mycicd \ -v /etc/localtime:/etc/localtime:ro \ -v /docker_data/jenkins:/var/jenkins_home \ -v $(which docker):/usr/bin/docker \ -v $(which kubectl):/usr/bin/kubectl \ -v /root/.kube:/var/jenkins_home/.kube \ -v /var/run/docker.sock:/var/run/docker.sock \ -e JAVA_OPTS=-Duser.timezone=Asia/Taipei \ jenkins:sudo
執行以下指令啟動jenkins
chmod +x jenkins.sh ./jenkins.sh
查看啟動結果
docker exec -it jenkins bash sudo docker ps kubectl get nodes kubectl run nginx --image=nginx
用瀏覽器查看http://host.example.com:8080/
其網站的初始密碼請查看此檔
cat /docker_data/jenkins/secrets/initialAdminPassword
帳密,Ex.
it / 8888
遇到的問題:
jenkins@0665230a6768:/$ docker ps
docker: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32′ not found (required by docker)
=> 查網路上的做法尚無解,先略過
https://www.cnblogs.com/kevingrace/p/8744417.html
https://blog.csdn.net/wangying202/article/details/113178159
1.安裝make、gcc sudo apt-get update sudo apt-get install make sudo apt install build-essential sudo apt-get install python3 sudo apt-get install python sudo apt-get install gawk sudo apt-get install bison
2.以下指令無法使用
sudo wget http://ftp.gnu.org/gnu/glibc/glibc-2.32.tar.gz sudo tar -xvf glibc-2.32.tar.gz cd glibc-2.32 sudo mkdir build cd build sudo ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin sudo make -j 8
參考: https://github.com/jenkinsci/docker/blob/master/README.md
