Docker&jenkins的一些操作

部署hrm系統-基礎環境

MySQL部署

docker pull mysql:5.7
查看鏡像
在這裏插入圖片描述

創建MySQL容器

docker run -di --name hrm_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
-p 代表端口映射,格式爲 宿主機映射端口:容器運行端口
-e 代表添加環境變量 MYSQL_ROOT_PASSWORD是root用戶的登陸密碼
端口映射:把容器的端口映射成能夠通過宿主機的端口進行訪問.

進入MySQL容器,登陸MySQL

進入mysql容器
docker exec -it hrm_mysql /bin/bash
登陸mysql
mysql -u root -p密碼

然後就可以通過ip地址在外面訪問到裏面的數據庫 記得關閉防火牆


Nginx部署

拉取Nginx鏡像

docker pull nginx

創建Nginx容器

docker run -di --name=hrm_nginx -p 8080:80 nginx

測試Nginx

linux的ip地址:8080
在這裏插入圖片描述

配置反向代理

官方的nginx鏡像,nginx配置文件nginx.conf 在/etc/nginx/目錄下。
在容器內編輯配置文件不方便,我們可以先將配置文件從容器內拷貝到宿主機,編輯修改後再拷貝回去。
(1)從容器拷貝配置文件到宿主機
docker cp hrm_nginx:/etc/nginx/nginx.conf ./nginx.conf
(2)編輯nginx.conf,添加反向代理配置 因爲nginx.conf中是引入了default
.conf 所以我們去default.conf中去修改
在這裏插入圖片描述
在這裏插入圖片描述
(3)將修改後的配置文件拷貝到容器
docker cp nginx.conf hrm_nginx:/etc/nginx/nginx.conf
(4)重新啓動容器
docker restart hrm_nginx


Redis部署

拉取Redis鏡像

docker pull redis

創建Redis容器

設置密碼
docker run -di --name hrm-redis -p 6379:6379 redis --requirepass "root"


fastdfs部署

下載鏡像

docker pull registry.cn-beijing.aliyuncs.com/tianzuo/fastdfs

運行

docker run -di --restart=always --privileged=true --net=host --name=fastdfs -e IP=192.168.0.13 -e WEB_PORT=80 -v ${HOME}/fastdfs:/var/local/fdfs registry.cn-beijing.aliyuncs.com/tianzuo/fastdfs

–restart=always linux啓動後,每次這個容器都會自動重啓

測試

docker exec -it fastdfs /bin/bash

echo "Hello FastDFS!">index.html

fdfs_test /etc/fdfs/client.conf upload index.html

systemctl stop firewalld.service
注意:做端口映射是必須開啓防火牆,都部署完了再開啓防火牆就ok

tomcat部署

拉取tomcat鏡像

centos是基礎鏡像
docker pull tomcat:8

創建tomcat容器

docker run -di --name=hrm_tomcat -p 9090:8080 tomcat:8

測試

直接訪問9090

Dockerfile構建jdk1.8的鏡像(需要centos的鏡像)

新建Dockerfile文件 vi Dockerfile
寫入語法

FROM centos:7
MAINTAINER yhptest
WORKDIR /usr
RUN mkdir /usr/local/java
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
構建JDK1.8    docker build -t="jdk1.8" .

私有倉庫搭建

下載私有倉庫鏡像 docker pull registry
啓動私有倉庫容器 docker run -di --name=liankong-registry -p 5000:5000 registry
查看日誌是否啓動好 docker logs liankong-registry --tail 10 -f
測試 {ip地址}:5000/v2/_catalog

讓Docker信任私有倉庫地址修改 vi /etc/docker/daemon.json
“insecure-registries”:[“192.168.0.109:5000”]

重啓docker systemctl restart docker
重啓容器 docker start liankong-registry

上傳鏡像
標記此鏡像爲私有倉庫鏡像 docker tag jdk1.8 {ip地址}:5000/jdk1.8
上傳鏡像 docker push {ip地址}:5000/jdk1.8
測試: {ip地址}:5000/v2/_catalog
下載鏡像
刪除本地鏡像 docker rmi {ip地址}:5000/jdk1.8
下載 docker pull {ip地址}:5000/jdk1.8
新鏡像創建容器測試 docker run -di --name=jdk1.8 {ip地址}:5000/jdk1.8


Maven插件自動部署:

修改宿主機的docker配置,遠程訪問
vi /lib/systemd/system/docker.service
其中ExecStart=後添加配置

-H tcp://0.0.0.0:2375 
-H unix://var/run/docker.sock 

修改後如下(2)刷新配置,重啓服務

systemctl daemon-reload 
systemctl restart docker 
docker start liankong-registry 

防火牆對該端口放行(如果沒有請直接關閉防火牆)
firewall-cmd --permanent --zone=public --add-port=2375/tcp
關閉防火牆
systemctl stop firewalld 只有加端口映射的時候必須開啓

在eureka工程的pom里加入

  <build>
	<finalName>eureka</finalName>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
		<!--docker的maven插件,官網: https://github.com/spotify/docker‐maven‐plugin-->
		<plugin>
			<groupId>com.spotify</groupId>
			<artifactId>docker-maven-plugin</artifactId>
			<version>0.4.13</version>
			<configuration>
				<imageName>{ip地址}:5000/${project.artifactId}:${project.version}</imageName>
				<baseImage>jdk1.8</baseImage>
				<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
				<resources>
					<resource>
						<targetPath>/</targetPath>
						<directory>${project.build.directory}
						</directory>
						<include>${project.build.finalName}.jar</include>
					</resource>
				</resources>
				<dockerHost>{ip地址}:2375</dockerHost>
			</configuration>
		</plugin>
	</plugins>
</build>

以上配置會自動生成Dockerfile

進入Eureka 所在的目錄,輸入以下命令,進行打包和上傳鏡像(cmd)
mvn clean package docker:build -DpushImage
查看是否成功 {ip地址}:5000/v2/_catalog

啓動容器
docker run -di --name=hrm-eureka -p 1010:1010 {ip地址}:5000/hrm-eureka-1010:1.0-SNAPSHOT
測試,IDEA啓動Eureka服務訪問 {ip地址}:1010

持續集成工具-Jenkins

需要先安裝jdk
將jdk-8u171-linux-x64.rpm上傳至服務器home/java路徑(虛擬機)
執行安裝命令 rpm -ivh jdk-8u171-linux-x64.rpm RPM方式安裝JDK,
其根目錄爲:/home/java/jdk1.8.0_171
配置環境 vi /etc/profile
在最後面添加

export JAVA_HOME=/home/java/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH

安裝Jenkins

下載jenkins 
       wget https://pkg.jenkins.io/redhat/jenkins-2.190.1-1.1.noarch.rpm
       或將jenkins-2.190.1-1.1.noarch.rpm上傳至服務器 
安裝jenkins 
       rpm -ivh jenkins-2.190.1-1.1.noarch.rpm
配置jenkins 
	vi /etc/sysconfig/jenkins 
修改用戶和端口 
	JENKINS_USER="root" 
	JENKINS_PORT="8888" 
啓動服務 
	systemctl start jenkins 
	cat /var/log/jenkins/jenkins.log
	拷貝密碼到 {ip地址}:8888 並完成推薦安裝
如果鏈接超時,修改:vi /var/lib/jenkins/hudson.model.UpdateCenter.xml 把https修改爲http
如果顯示java未找到 vim  /etc/init.d/jenkins   在最後加上/home/java/jdk1.8.0_171/bin/java路徑

jenkins插件安裝

maven插件

全局工具配置
安裝Maven與本地倉庫
將Maven壓縮包上傳至服務器/home/maven/
解壓 tar zxvf apache-maven-3.5.4-bin.tar.gz
編輯setting.xml配置文件
vi /home/maven/apache-maven-3.5.4/conf/settings.xml 配置本地倉庫目錄
<localRepository>/home/maven/repository</localRepository>

vi /etc/profile
export MAVEN_HOME=/home/maven/apache-maven-3.5.4
export PATH=$MAVEN_HOME/bin:$PATH
source /etc/profile
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章