在Docker容器中安装JDK
(1)在命令行方式下切换到root用户
su root
(2)拉取JDK镜像进行安装
docker pull primetoninc/jdk:1.8
(3)查看JDK是否已成功安装
docker images
(4)启动JDK容器,并检查JDK是否正确安装
docker run -it --name jdk1.8 -d primetoninc/jdk:1.8

docker: Error response from daemon: Conflict. The container name "/jdk1.8" is already in use by container "1df77077ba885287e200bd0818076498fed8e044d200decbae8e14fe6073105e". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
解决:
docker rm -f $(docker ps -a -q)
docker run -it --name jdk1.8 -d primetoninc/jdk:1.8
(3)查看JDK是否已成功安装
docker exec -it jdk1.8 /bin/bash
java -version
exit
在Docker容器下安装MySQL
(1)查看MySQL版本
docker search mysql
(2)选择其中一个版本安装
docker pull ubuntu/mysql
我选的是ubuntu/mysql
(3)启动MySQL
docker run -it --name mysql -d ubuntu/mysql
在Docker容器中安装Maven
安装 Git 工具
在物理机上安装 Git,可通过以下两种方式安装:
GitEE 创建仓库

使用 Git 工具将本地项目代码推送到远程仓库(GieEE)
- 方式一:使用 Git Bash 推送
- 方式二:使用 Git Command 推送
- 方式三:使用 Git GUI 推送
- 方式四:使用 Idea 集成 Git 工具推送

打开 Git Bash 命令行,输入:git init 命令。

修改 config 文件内容:
git add .
如下图所示:
出错!
是因为本地仓库和远程仓库的文件不一致所致,也就是说,github 允许你本地仓库有的东西,远程仓库里没有,但不允许远程仓库有的东西,你本地仓库没有。问题找到了,解决办法就很简单了,那就是在 push 之前先同步一下本地仓库与远程仓库的文件。使用以下命令
git pull --rebase origin master
成功会会有如下:
接着在运行:
git push origin master
成功!
Linux 环境下安装 Jenkins
1.在 Linux 环境下通过 Dorcker 容器安装 Jenkins

拉取 Jenkins 镜像:docker pull jenkins/jenkins
运 行 Jenkins 容 器 :
docker run -itd -p 8081:8080 -p 50000:50000 -v /var/jenkins_mount:/var/jenins_home --name myjenkins jenkins/jenkins
查看已启动容器:docker ps
容器启动后,即可访问 Jenkins 服务器。
查看 Jenkins 密钥:docker logs myjenkins(第一次登录 Jenkins 服务器需要输

2.安装 Jenkins
3、配置 Jenkins
初次可以选择推荐的
等待安装
注册用户:
如下访问Jenkins成功啦
- 用户管理:添加一个用户,记住用户名和密码,添加完成后用新用户登录。
- 插件管理:只需要安装 Publish over SSH 和 Deploy to container Plugin 这两个 插件。
- 全局工具配置:需要配置 JDK(Linux 系统中先要安装 JDK,如果没有安装, 可直接在配置界面安装)、Maven(Linux系统中提前安装Maven,并配置好Maven)、 配置 git。
- Configure System (系统设置):主要配置应用服务器地址及凭证,暂可不配 置
1、用户管理:
2、插件管理:
3、全局工具配置:
上面已经装了JDK、git,现在来装Maven
因为Jenkins容器没有Maven环境,如在容器内部安装Maven,由于构建的项目要下载相关的依赖这样造成一部分资源浪费。所以我这里采用的将Maven和容器通过挂载达到共享本地Maven仓库
- 去官网下载Maven,我使用的版本是3.5.0
- 上传至Docker服务所在的服务器
- 我这里放到的 /usr/local/目录下了
因为ubuntu上传外面的文件要借助连接文件(这里我用xshell)
sudo apt-get install openssh-server
报错:
解决:
sudo rm /var/lib/dpkg/lock-frontend
sudo apt-get install openssh-server
还是报错:
解决:!
sudo rm /var/lib/dpkg/lock
sudo apt-get install openssh-server
在xshell上传文件
1、安装rz命令
输入rz命令,看是否已经安装了lrzsz
如果没有安装则执行下方命令进行安装
apt install lrzsz
2、解压maven压缩包
tar zxvf apache-maven-3.9.1-bin.tar.gz
3、解压后进入apache-maven-3.9.1
4、创建repository目录mkdir repository
5、进入conf目录 vim settings.xml 配置本地仓库路径(换成自己的路径和版本)和阿里镜像源
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--这里写自己的路径-->
<localRepository>/usr/local/apache-maven-3.9.1/repository</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
<profiles>
</profiles>
</settings>
6、回到/usr/local/给apache-maven-3.5.0文件递归增加其他用户写权限
chmod -R o+w apache-maven-3.9.1
ll |grep apache-maven-3.9.1
7、查看apache-maven-3.5.0/bin/目录下的mvn是否有执行权限(绿色的),没有就添加
ll apache-maven-3.9.1/bin/mvn
8、添加Maven环境变量
vim /etc/profile
将如下配置到/etc/profile,注意是你的Maven目录的位置
export MAVEN_HOME=/usr/local/apache-maven-3.9.1
export PATH=$PATH:$MAVEN_HOME/bin
配置生效:
source /etc/profile
10、配置成功后关闭终端,从新连接
在任意目录输入mvn -version 没有提示mvn 命令找不到说明配置完成
如果提示找不到java 命令,只是说明你没有安装java环境。根据你自己的需要是否安装,这里可以不安(jenkins容器里有openjdk环境)
提示我没有装maven,根据命令安装
apt install maven
启动Jenkins容器
- 选择一个目录(我选择的是 /home目录)
- 在该目录下创建目录mkdir jenkins
- 进入目录,创建data目录 用于挂载Jenkins的数据文件
- 为其他用户添加写的权限chmod o+w data
直接使用admin用户
之后保存并完成,然后重启(如果你觉得重启慢的话,去终端另开一个端口,用docker restart 容器id 重启容器)。重启好了页面要刷新一下,不然一直等待页面
全局安装配置
全局工具配置
通过
docker exec -it 容器id /bin/bash
进入容器(以下参数全是容器中的参数)
获取Maven的settings文件路径