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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章