1.docker下载安装教程
a.先常看服务器是否有docker相关依赖并删除
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
b.更新yum中的yum-utils,主要是更新yum-config-manager该命令
sudo yum install -y yum-utils
c.添加镜像源,这里我添加的是docker官方的镜像源,还有阿里其他镜像源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
d.安装dockers服务
$ sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
e.启动docker命令sudo systemctl start docker
f.查看docker 状态命令systemctl status docker,显示启动中即可安装镜像
2.安装dockers镜像
a.下载Jenkins镜像,docker pull jenkins/jenkins:2.346.3(无版本要求,也可按该版本安装2.346.3)
b.下载nginx镜像:docker pull nginx:1.18.0
c.下载mysql镜像:docker pull mysql:8.0.19
d.下载rides镜像:docker pull redis:6.0.8
3.Jenkins环境搭建与配置
a.搭建jenkins前先配置jdk,maven环境,先创建两个目录
mkdir /usr/java
mkdir /usr/local/maven
去官网下载jdk8压缩包和maven压缩包,maven版本3以内皆可,当前版本是3.8.6
JDK官网下载地址: JDK 8 for ARM - Download
maven下载地址:Maven – Download Apache Maven
解压jdk和maven压缩包
tar -zxvf jdk-8u361-linux-x64.tar.gz
tar -zxvf apache-maven-3.9.0-bin.tar.gz
b.配置环境变量
-
# 配置环境变量
-
vi /etc/profile
-
MAVEN_HOME=/usr/local/maven/apache-maven-3.9.0
-
PATH=$MAVEN_HOME/bin:$PAT
-
JAVA_HOME=/usr/local/java/jdk1.8.0_361
-
PATH=$JAVA_HOME/bin:$PATH
c.启动jenkins
docker run -dit --name myjenkins --privileged=true -p 8989:8080 -v /etc/profile:/etc/profile -v /var/jenkins_home/:/var/jenkins_home -v /usr/java/jdk1.8.0_381:/usr/java/jdk1.8.0_381 -v /usr/local/apache-maven-3.8.1:/usr/local/apache-maven-3.8.1 jenkins/jenkins:2.346.3
参数解释:
docker run : 启动容器命令
-dit: d后台运行,it终端交互
--name:容器的名称
--privileged=true:以特殊全下进入终端,默认为false
-p:容器端口:宿主机端口
-v /etc/profile:/etc/profile: 挂载环境变量配置文件,挂载后宿主机配置文件改动,容器内部配置文件也改动
-v /var/jenkins_home/:/var/jenkins_home 挂载jenkins安装文件,jenkins相关配置信息或构建项目都在里面,所以要把jenkins_home设置成最高权限,chmod 777 -R jenkins_home
-v /usr/java/jdk1.8.0_381:/usr/java/jdk1.8.0_381 挂载jdk文件,jenkins自带jdk11用来下载jenkins插件或相关依赖,jdk8用来构建项目后面会教如何配置
-v /usr/local/apache-maven-3.8.1:/usr/local/apache-maven-3.8.1 挂载maven文件,maven里/usr/local/maven/conf中的setting文件要配置镜像源
最后jenkins/jenkins:2.346.3 为容器镜像
通过docker ps 查看容器是否启动成功,通过ip+端口访问jenkins
docker exec -it jenkins容器id /bin.bash
cat /var/jenkins_home/secrets/initialAdminPassword获取初试密码
把密码输入jenkins首页,成功后安装推荐插件
创建管理员用户
进入系统设置-插件管理安装 gitee,nodejs,jdk parameter
d.进入系统管理-系统配置,配置gitee
选择类型token令牌,输入token令牌其他的不用管点击应用保存
进入系统设置,选择全局设置,添加JDK
配置maven3.8
配置nodejs,这里不用去宿主机上安装配置,直接在jenkins上配置
创建一个maven构建项目(打包后端jar包)
配置gitee,认证方式有很多看自己选择
在build配置要解析的文件和要打包的命令
打包好jar包后,在同级目录下创建一个Dockerfile文件
文件内容大致如下图
把jar包构建成一个docker镜像,注意最后有个点
docker build -t cat:1.0 .
启动后端项目镜像
docker run -d --name cat -p 8085:8085 cat:1.0
查看是否启动成功,docker ps,通过IP+端口能够访问,代表成功
4.部署前端项目
a.创建nginx工作目录
#需要一个conf文件存放目录,和html文件目录,及日志存放目录
mkdir -p /data/applications/nginx/conf
mkdir -p /data/applications/nginx/html
mkdir -p /data/logs
b.启动nginx容器,如果这个镜像本机中没有,会自动下载镜,我这下载是的1.18版本
docker run --name nginx -p 80:80 -d nginx:1.18.0
c.复制容器中配置文件目录到本机中,然后删除该容器
# 复制配置
docker cp nginx:/etc/nginx/nginx.conf /data/applications/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /data/applications/nginx/conf/conf.d
docker cp nginx:/usr/share/nginx/html /data/applications/nginx/
#先用 [docker ps – a] 命令 找到对应容器ID
#才可以删除容器
docker rm -f [容器ID]
d.启动新的nginx容器
docker run -d \
-p 80:80 \
-p 443:443 \
--name nginx \
--restart=always \
--network-alias nginx \
-e TZ="Asia/Shanghai" \
-v /data/applications/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/applications/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /data/logs/nginx:/var/log/nginx \
-v /data/applications/nginx/html:/usr/share/nginx/html \
-v /data/applications/nginx/cert:/etc/nginx/cert \
nginx:1.18.0
再一次提醒firewalld防火墙是否关闭,或者端口是否开启,以及服务器的安全组是否配置!
命令说明:
–privileged=true # 容器内被赋予root权限
-v /data/applications/nginx/html:/usr/share/nginx/html # 挂载的静态文件目录
-v /data/applications/nginx/nginx.conf:/etc/nginx/nginx.conf # 挂载的nginx配置文件目录
-v /data/applications/nginx/logs:/var/log/nginx #挂载nginx日志文件
-v /data/applications/nginx/cert: /etc/nginx/cert # ssl证书挂载目录
e.查看容器后,访问服务器ip地址
# 查看nginx容器是否启动成功
docker ps -a
看见首页代表布置成功
在jenkins上创建前端项目
配置gitee
添加构建环境
执行打包命令
打包好后会生成一个dist文件,dist文件放在nginx下html目录下即可
然后根据自身情况配置端口域名,或者证书
然后重启docker restart 容器id重启nginx,然后通过域名或者ip即可访问