Docker开启远程访问
[root@Charlie docker]# vim /usr/lib/systemd/system/docker.service
将原本上面这行改为下面这行(搜到的大量文档都是2375端口,可能是官方教程?索性抄一下吧,吐槽一下不细究)
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
重启docker
systemctl daemon-reload #加载docker守护线程
systemctl restart docker #重启docker
开放端口
本篇是百度云服务器测试的,其他供应商也大致相同,首先需要在管理服务器后台页面操作安全组相关操作,各个平台不尽相同,其次服务器如果不想关闭防火墙需要另外开放端口
开放端口方法点此跳转
创建一个基础的Spring Boot项目
创建基础的Spring Boot项目点此跳转
创建一个Dockerfile文件,放在项目的根目录下,内容如下
Dockerfile运行Spring Boot项目的参数等详情点此跳转
FROM anapsix/alpine-java
VOLUME /tmp
ADD target/demo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EXPOSE 8080
MAVEN将项目打成jar包
右侧有个tab是maven,点击package
按钮会生成jar包,每次改代码都需要clean
然后再package
IDEA安装插件
右侧没安装过插件的话会有个Install
按钮,安装之后重启idea
IDEA配置docker
如下图进行配置,在engine API URL
填入自己服务器对应的 tcp://ip:port
如果下方出现Connection successful
的字样,表示连接成功
添加Docker启动配置
点击Edit Configurations···
然后点击右上角加号,选择Docker的Dockerfile
按照下图配置,镜像和容器名字取自己喜欢的,Bind ports
此处的配置指的是将容器中的8080端口代理到宿主机的8765端口,然后启动之后通过宿主机的ip:8765即可访问到项目
创建镜像并启动
找到刚刚创建的Dockerfile文件,右上角会有启动创建镜像和启动容器的按钮
容器启动之后控制台能看到具体的运行信息,也可以管理镜像和容器的开始启动,非常方便
访问接口
刚刚Docker启动配置中将docker容器中的8080端口代理到宿主机的8765端口
这里访问 ip:8765/test
就可以查看到项目接口细信息
服务器上的Docker相关信息
[root@Charile docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aiguoba/demo v1 077953297ce3 3 minutes ago 159MB
[root@Charile docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5b78d7f5d654 077953297ce3 "java -Djava.securit…" 3 minutes ago Up 3 minutes 0.0.0.0:8765->8080/tcp demo_v1