SpringBoor使用Docker快速部署项目
Docker 配置
首先编辑docker的宿主机文件/lib/systemd/system/docker.service
vi /lib/systemd/system/docker.service
修改以ExecStart开头的行:(因为我的系统是centos 7的,所以修改为下面得)
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
如果是centos7以下的话,就把ExecStart修改为:
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
修改后保存文件,然后通知docker服务做出的修改,重启docker服务
systemctl daemon-reload
service docker restart
测试一下看是否能连接到docker api。上面的2375就是对应端口
curl http://localhost:2375/version
IDEA 配置
(1)安装 Docker插件,直接搜索 Docker 安装重启即可;
(2)远程连接,依次打开 File | Settings | Build, Execution, Deployment | Docker,新增一个 Docker 连接,在 TCP soket 中配置地址 tcp://localhost:2375
,看到下方提示 Connection successful 即可。
项目配置
Dockerfile
提前把 openjdk:8 这个镜像pull下来
docker pull openjdk:8
Dockerfile
#基础镜像
FROM openjdk:8
#镜像的制作人
MAINTAINER zhang
#工作目录
#WORKDIR /opt/docker/penguin-log-web/
##这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层,可以多个
VOLUME ["/tmp"]
#声明了容器应该打开的端口并没有实际上将它打开
#EXPOSE 8080
#定义参数
#ARG JAR_FILE
# 将jar包添加到容器中并更名为app.jar
ADD *.jar app.jar
#拷贝本地文件到镜像中#复制上下文目录下的target/demo-1.0.0.jar 到容器里
COPY ${JAR_FILE} springboot-module-demo.jar
#指定容器启动时要执行的命令,但如果存在CMD指令,CMD中的参数会被附加到ENTRYPOINT指令的后面
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]