詳解Docker下搭建Jenkins構(gòu)建環(huán)境
首先需要搭建好docker環(huán)境的linux系統(tǒng),這個(gè)教程多如牛毛,在此不再贅述。
然后編寫(xiě)一個(gè)dockerfile來(lái)生成一個(gè)鏡像,dockerfile其實(shí)就是一系列命令的集合,有點(diǎn)像windows的批處理文件,
搭建Jenkins構(gòu)建環(huán)境需要安裝jdk、maven、tomcat、jenkins,另外還安裝了GIT,用來(lái)構(gòu)建GIT來(lái)源的代碼,內(nèi)容如下:
FROM centos:7 # author info MAINTAINER xulijian 514045152@qq.com # install wget to download files RUN yum install wget -y # install git RUN yum install git -y RUN cd /opt # download jdk RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz # download maven RUN wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz # download tomcat RUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz # unzip jdk RUN tar -xvf jdk-8u131-linux-x64.tar.gz -C /opt/ # unzip maven RUN tar -xvf apache-maven-3.5.0-bin.tar.gz -C /opt/ # unzip tomcat RUN tar -xvf apache-tomcat-8.5.14.tar.gz -C /opt # set environment ENV JAVA_HOME /opt/jdk1.8.0_131 ENV MAVEN_HOME /opt/apache-maven-3.5.0 ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV PATH $JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH # download jenkins RUN wget -P /opt/apache-tomcat-8.5.14/webapps http://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.46.2/jenkins.war # startup tomcat CMD /opt/apache-tomcat-8.5.14/bin/catalina.sh run # expose memcached port EXPOSE 8080
然后執(zhí)行構(gòu)建命令
docker build -t liuge1988/jenkins:base -f /opt/test/dockerfile /opt/test
-t 要生成的鏡像, user/repo:tag
-f dockerfile文件所在路徑
/opt/test 可以是任意目錄,要同步拷貝到新生成鏡像的目錄,用于初始化目錄內(nèi)容
執(zhí)行完成之后,查看鏡像是否正確生成。
docker images | grep Jenkins

鏡像生成之后,可以將鏡像存儲(chǔ)到docker hub, 以后要用的時(shí)候直接從docker hub上拉取下拉就好了
上傳到docker hub,需要注冊(cè)一個(gè)docker hub賬號(hào), 鍵入命令
docker login
根據(jù)提示輸入用戶名和密碼,如果提示login success,則已經(jīng)登錄成功。
然后執(zhí)行推送命令,將鏡像上傳到docker hub
docker push user/repo:tag
user/repo:tag 用戶/倉(cāng)庫(kù):鏡像標(biāo)簽,如liuge1988/jenkins:base
生成鏡像之后,就可以用此鏡像啟動(dòng)一個(gè)具體的容器了。
docker run -d -i -t --name jenkins_procloud -p 8308:8080 liuge1988/jenkins:base
啟動(dòng)完成之后,執(zhí)行命令查看容器是否運(yùn)行成功。
docker images | grep Jenkins

容器其實(shí)就是一個(gè)輕量的linux,進(jìn)入容器后跟linux系統(tǒng)是一樣的,如果想進(jìn)入容器,進(jìn)行一些操作,可以執(zhí)行以下命令。
docker exec -it containerId /bin/bash

要退出容器輸入exit或Ctrl + D 就可以了。
進(jìn)入tomcat的bin目錄,啟動(dòng)tomcat

啟動(dòng)好tomcat之后就可以通過(guò) 主機(jī)ip:端口/jenkins 來(lái)訪問(wèn)jenkins了。
http://192.168.1.111:8308/jenkins
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 關(guān)于docker啟動(dòng)jenkins環(huán)境的問(wèn)題
- 使用Docker+jenkins+python3環(huán)境搭建超詳細(xì)教程
- 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境的詳細(xì)教程
- docker環(huán)境下安裝jenkins容器的詳細(xì)教程
- Docker環(huán)境搭建Jenkins在構(gòu)建任務(wù)時(shí)控制臺(tái)日志出現(xiàn)中文亂碼的問(wèn)題
- 從零搭建docker+jenkins+node.js自動(dòng)化部署環(huán)境的方法
- CentOS服務(wù)器部署Docker+Jenkins持續(xù)集成環(huán)境的方法
相關(guān)文章
docker 在容器外執(zhí)行某個(gè)容器內(nèi)的某個(gè)命令操作
這篇文章主要介紹了docker 在容器外執(zhí)行某個(gè)容器內(nèi)的某個(gè)命令操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
關(guān)于ROS2安裝與docker環(huán)境使用
大家好,本篇文章主要講的是關(guān)于ROS2安裝與docker環(huán)境使用,感興趣的同學(xué)趕快來(lái)看看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
Docker Compose快速部署多容器服務(wù)實(shí)戰(zhàn)的實(shí)例詳解
使用 Docker Compose 可以輕松、高效的管理容器,它是一個(gè)用于定義和運(yùn)行多容器 Docker 的應(yīng)用程序工具,本文給大家介紹Docker Compose快速部署多容器服務(wù)實(shí)戰(zhàn),感興趣的朋友一起看看吧2022-02-02
docker如何對(duì)已經(jīng)啟動(dòng)的容器添加目錄映射(掛載目錄)
當(dāng)我們創(chuàng)建容器之后,不可避免會(huì)遇到修改配置文件的操作,下面這篇文章主要給大家介紹了關(guān)于docker如何對(duì)已經(jīng)啟動(dòng)的容器添加目錄映射(掛載目錄)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
使用 VPS 下載 Docker 鏡像并導(dǎo)入到本地服務(wù)器的過(guò)程
這篇文章主要介紹了使用 VPS 下載 Docker 鏡像并導(dǎo)入到本地服務(wù)器,通過(guò)使用 VPS 下載 Docker 鏡像并將其傳輸?shù)奖镜胤?wù)器,我們可以克服網(wǎng)絡(luò)限制,更靈活地管理和部署 Docker 鏡像,需要的朋友可以參考下2024-08-08
淺談Docker consul的容器服務(wù)更新與發(fā)現(xiàn)
本文主要介紹了淺談Docker consul的容器服務(wù)更新與發(fā)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
關(guān)于Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目詳解
這篇文章主要介紹了關(guān)于Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目詳解,Docker在創(chuàng)建容器時(shí)有四種網(wǎng)絡(luò)模式,bridge為默認(rèn)不需要去指定,其他三種模式需要在創(chuàng)建容器時(shí)使用–net去指定,需要的朋友可以參考下2023-07-07

