1.CentOS7.0下JDK1.8的安装
(1)到Oracle官网下载好 jdk-8u291-linux-i586.tar.gz备用
(2)卸载系统自带的java
1
2
3
|
java -version
rpm -qa | grep java
yum -y remove [上面查出来的内容,多个用空格分隔]
|
(3)安装jdk
1
2
3
|
mkdir /usr/java
cd /usr/java
tar -zxvf jdk-8u291-linux-i586.tar.gz
|
(4)配置环境变量
添加下面内容
1
2
3
|
export JAVA_HOME=/usr/java/jdk1.8.0_291
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
|
使环境变量生效
测试
2.Docker的安装
(1) 查看内核版本(Docker需要64位版本,同时内核版本在3.10以上,如果版本低于3.10,需要升级内核)
(2) 更新yum包:
(3) 添加阿里云yum仓库:
1
2
3
4
|
cd /etc/yum.repos.d/
wget "http://mirrors.aliyun.com/repo/Centos-7.repo"
mv CentOS-Base.repo CentOS-Base.repo.bak
mv Centos-7.repo CentOS-Base.repo
|
执行yum源的更新命令
1
2
3
|
yum clean all
yum makecache
yum update
|
(4) 安装Docker
(5) 启动Docker
启动,查看信息
1
2
|
systemctl start docker
docker info
|
后续可以设置开机启动项
(6)配置docker远程访问
执行命令编辑文件
1
|
vim /usr/lib/systemd/system/docker.service
|
找到这一行
1
|
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
|
追加
1
|
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
|
重启服务
如果提示文件需要reload就执行
远程访问测试
http://192.168.2.200:2375/version
3.Docker使用Maven插件构建并上传镜像
(1)新建Dockerfile文件
在项目的/src/main下新增文件夹docker,并在文件夹下创建Dockerfile文件,文件内容如下
1
2
3
4
5
6
7
8
9
10
11
|
# 基于哪个镜像
FROM java:8
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 拷贝文件到容器,swaggertest-0.0.1-SNAPSHOT.jar这里是maven打包后的名字
ADD swaggertest-0.0.1-SNAPSHOT.jar swaggertest.jar
RUN bash -c 'touch /swaggertest.jar'
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/swaggertest.jar"]
EXPOSE 8080
|
(2)修改pom.xml文件增加如下plugin
imageName:镜像名称
dockerDirectory:Dockerfile文件所在目录
dockerHost:docker所在宿主机ip
2375为docker开启的远程访问端口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<plugin>
<!-- https://mvnrepository.com/artifact/com.spotify/docker-maven-plugin -->
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.2</version>
<configuration>
<imageName>swaggertest-service</imageName>
<dockerDirectory>src/main/resources/docker</dockerDirectory>
<dockerHost>http://192.168.2.200:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
|
每一个微服务项目都要进行配置。
(3)构建镜像并上传至docker
使用maven运行如下命令
1
|
mvn clean package docker:build -DskipTests
|
上传成功后,在服务器输入
可以看到新建的的docker镜像啦。
启动当前镜像
1
|
docker run -p 8080:8080 swaggertest-service:latest
|
|