使用 Docker 部署 Jenkins 并設置初始管理員密碼
每一次開始,我都特別的認真與膽怯,是因為我期待結局,也能夠不會那么粗糙,不會讓我失望,所以,就多了些思考,多了些拘束,所以,我也就格外重視第一次!
在這篇博客中,我們將介紹如何使用 Docker 部署 Jenkins,并在 /usr/local/src/
目錄下創建相關卷。
安裝Docker
1、選擇要安裝的平臺
Docker要求CentOS系統的內核版本高于3.10
uname -r #通過 uname -r 命令查看你當前的內核版本
安裝文檔地址
https://docs.docker.com/engine/install/centos/
2、選擇要安裝的操作系統
3、首先卸載已安裝的Docker
使用Root權限登錄 Centos。確保yum包更新到最新。
sudo yum update
如果你的操作系統沒有安裝過Docker , 就不需要執行卸載命令。
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
4、建立倉庫
安裝Docker所需要的一些工具包
sudo yum install -y yum-utils
建立Docker倉庫 (映射倉庫地址)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、安裝Docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
6、啟動Docker
sudo systemctl start docker
7.設置docker鏡像倉庫
有時候,我們pull
鏡像的時候非常慢,所以需要設置一下國內的鏡像倉庫作為下載源
第一步:新建或編輯daemon.json
vi /etc/docker/daemon.json第二步:daemon.json中編輯如下
{"registry-mirrors": ["http://hub-mirror.c.163.com"]
}第三步:重啟docker
systemctl restart docker.service第四步:執行docker info查看是否修改成功
docker info
以下列舉出國內的幾個下載地址:
1.網易
http://hub-mirror.c.163.com
2.Docker中國區官方鏡像
https://registry.docker-cn.com
3.中國科技大學
https://docker.mirrors.ustc.edu.cn
4.阿里云容器服務
https://cr.console.aliyun.com/
首頁點擊“創建我的容器鏡像” 得到一個專屬的鏡像加速地址,類似于“https://1234abcd.mirror.aliyuncs.com”
8.安裝docker-compose
Linux 上我們可以從 Github 上下載它的二進制包來使用,最新發行的版本地址:https://github.com/docker/compose/releases。
運行以下命令以下載 Docker Compose 的當前穩定版本:
$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
要安裝其他版本的 Compose,請替換 v2.2.2。
Docker Compose 存放在 GitHub,不太穩定。
你可以也通過執行下面的命令,高速安裝 Docker Compose。
curl -L [https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-](https://link.zhihu.com/?target=https%3A//get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-)`uname -s`-`uname -m` > /usr/local/bin/docker-compose
將可執行權限應用于二進制文件:
$ sudo chmod +x /usr/local/bin/docker-compose
創建軟鏈:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
測試是否安裝成功:
$ docker-compose version
cker-compose version 1.24.1, build 4667896b
9.docker常用命令
基本命令
-
啟動 Docker 服務:
systemctl start docker
-
檢查 Docker 版本:
docker --version
鏡像操作
-
從 Docker Hub 拉取鏡像:
docker pull <image_name>
例如:
docker pull nginx
-
列出本地鏡像:
docker images
-
刪除本地鏡像:
docker rmi <image_name>
-
構建鏡像:
docker build -t <image_name> .
容器操作
-
運行容器:
docker run -it --name <container_name> <image_name>
例如:
docker run -it --name my_nginx nginx
-
列出運行中的容器:
docker ps
-
列出所有容器(包括停止的容器):
docker ps -a
-
停止容器:
docker stop <container_name>
-
啟動已停止的容器:
docker start <container_name>
-
刪除容器:
docker rm <container_name>
-
進入運行中的容器:
docker exec -it <container_name> /bin/bash
數據卷操作
-
創建數據卷:
docker volume create <volume_name>
-
列出數據卷:
docker volume ls
-
刪除數據卷:
docker volume rm <volume_name>
網絡操作
-
創建網絡:
docker network create <network_name>
-
列出網絡:
docker network ls
-
刪除網絡:
docker network rm <network_name>
其他操作
-
查看容器日志:
docker logs <container_name>
-
檢查 Docker 系統資源使用情況:
docker system df
安裝Jenkins
1.拉取 Jenkins 鏡像
從 Docker Hub 拉取最新的 Jenkins 鏡像。
docker pull jenkins/jenkins:lts
2.創建 Docker 卷
在 /usr/local/src/
目錄下創建一個用于存儲 Jenkins 數據的目錄。
mkdir -p /usr/local/src/jenkins/data
3.運行 Jenkins 容器
使用 Docker 啟動 Jenkins 容器,并掛載前面創建的目錄。
docker run -d --name jenkins \-v /usr/local/src/jenkins/data:/var/jenkins_home \-p 8080:8080 \-p 50000:50000 \jenkins/jenkins:lts
在上述命令中:
-d
:表示容器將在后臺運行。--name jenkins
:指定容器的名稱為jenkins
。-v /usr/local/src/jenkins/data:/var/jenkins_home
:將主機的/usr/local/src/jenkins/data
目錄掛載到容器內的 Jenkins 數據目錄/var/jenkins_home
。-p 8080:8080
:將容器的 8080 端口映射到主機的 8080 端口。-p 50000:50000
:將容器的 50000 端口映射到主機的 50000 端口,用于 Jenkins 代理通信。
如果啟動失敗,查看容器日志,
docker logs 容器ID
如果是如下報錯
INSTALL WARNING: User: missing rw permissions on JENKINS_HOME: /var/jenkins_home
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
那就給容器掛載目錄授權
sudo chown -R 1000:1000 /usr/local/src/jenkins
sudo chown -R 1000:1000 /usr/local/src/jenkins/*
3.驗證部署
打開瀏覽器并訪問 http://<你的主機IP>:8080
,在首次啟動時,Jenkins 將生成一個初始管理員密碼。可以通過以下命令查看初始密碼:
docker logs 容器ID
或者直接查看文件中的密碼
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
初始化配置完成后,可以使用 Jenkins Web 界面創建新的用戶、配置插件和管理 Jenkins 實例。
4.其他常用 Docker 命令
-
查看容器日志:
docker logs -f jenkins
-
進入容器內部:
docker exec -it jenkins /bin/bash