1.Docker安装
官网步骤:https://docs.docker.com/install/linux/docker-ce/centos/?tdsourcetag=s_pctim_aiomsg
总结步骤:
1.卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.使用存储库安装
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --enable docker-ce-nightly
sudo yum-config-manager --enable docker-ce-test
3.安装引擎
sudo yum install docker-ce docker-ce-cli containerd.io
4.启动docker
sudo systemctl start docker
5.设置docker随系统启动
sudo systemctl enable docker
6.查看docker是否安装成功
docker --version
2.IDEA打包部署(无证书版)
1.设置docker远程访问
编辑docker文件:/usr/lib/systemd/system/docker.service
vim /usr/lib/systemd/system/docker.service
修改ExecStart行为下面内容:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
(ps:无证书版有被抓去当矿机的风险,放在外网服务器的话学习完尽快删除或更改成证书版,已被抓去当矿机无法删除容器的时候使用关机重启终极大法,然后迅速删除黑客放进来的容器)
2.idea安装docker 插件
Settings>Plugins搜索docker
3.配置docker
开启防火墙参考:https://www.cnblogs.com/moxiaoan/p/5683743.html?tdsourcetag=s_pctim_aiomsg
添加:firewall-cmd --zone=public--add-port=2375/tcp --permanent
重新载入:firewall-cmd --reload
4.创建Springboot工程
File>New>Project
pom.xml添加配置
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.10</version>
<configuration>
<dockerHost>http://192.168.64.128:2375</dockerHost>
<imageName>${project.name}:${project.version}</imageName>
<baseImage>java</baseImage>
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
新建src>main>docker>Dockerfile文件
#对Dockerfile里面的内容做一个简单的介绍:
#1.FROM:指明当前镜像继承的基镜像,编译当前镜像时候会自动下载基镜像
#2.MAINTAINER:当前镜像的作者和邮箱,使用空格隔开
#3.VOLUME:挂载目录
#4.ADD:从当前工作目录复制文件到镜像目录中并重新命名
#5.RUN:在当前镜像上执行Linux命令
#6.EXPOSE:监听的端口号
#7.ENTRYPOINT:让容器像一个可执行程序一样运行
FROM java:8
VOLUME /tmp
ADD boge-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 9160
ENTRYPOINT [ "java", "-jar", "/app.jar" ]
5.打包工程构建docker镜像
6.创建容器
设置容器,然后点击Run
7.在服务器查看容器状态
docker ps -a
8.访问项目
http://192.168.64.128:9160/docker
demo地址:https://gitee.com/zengjinbo/Demo_docker
3.证书版
证书生成:https://blog.csdn.net/lanwp5302/article/details/89358132
pom.xml插件配置
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.10</version>
<configuration>
<dockerHost>https://192.168.64.128:2375</dockerHost>
<imageName>${project.name}:${project.version}</imageName>
<baseImage>java</baseImage>
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<dockerCertPath>D:\work\ssl\docker-ca</dockerCertPath>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
把ca.pem、cert.pem、key.pem这三个证书保存到客户端
例如这样
配置IDEA docker插件
后续发布操作参照无证书版