6.1 Docker远程访问
默认docker不支持远程访问的
修改docker服务文件
vi /lib/systemd/system/docker.service
修改ExecStart这行
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
重新加载配置文件
systemctl daemon-reload
重启服务
systemctl restart docker.service查看端口是否开启
netstat -nlpt # yum install net-tools
直接 curl 看是否生效
curl http://ip:2375/info
6.2 IDEA配置Docker
6.2.1 idea安装docker插件
6.2.2 配置docker

将自己的阿里云中的镜像加速器配置到仓库地址中

配置完成后会出现下面的样子,右键可点击链接
6.3 第一种部署方式

FROM frolvlad/alpine-oraclejdk8:slim MAINTAINER zhubc
因为原来jar包名有大小写,所以可能会操作失败
ADD springboot-docker-0.0.1-SNAPSHOT.jar app.jar
运行jar包
RUN sh -c ‘touch /app.jar’
为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source
ENTRYPOINT [“java”,”-Djava.security.egd=file:/dev/./urandom”,”-jar”,”/app.jar”]
然后把生成的 jar包和dockerfile文件放到Linux文件中
cp springboot-docker-0.0.1-SNAPSHOT.jar app.jar
镜像名称
docker build -t springdocker:10
生成容器
ocker run -it -p 8089:8080 -d —name springdocker1.0 镜像id
6.4 第二章方式 docker-maven-plugin
<properties><java.version>1.8</java.version><docker.image.prefix>zbcdocker</docker.image.prefix></properties><build><!--打包的名称,默认的名称有问题--><finalName>app</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.1.1</version><configuration><!--镜像名称--><imageName>${docker.image.prefix}/${project.artifactId}</imageName><!--指定标签--><imageTags><imageTag>latest</imageTag></imageTags><!--基础镜像 jdk1.8--><baseImage>java</baseImage><!--制作者信息--><maintainer>zbc1573588748@qq.com</maintainer><!--切换到/root目录--><workdir>/root</workdir><cmd>["java","-version"]</cmd><entryPoint>["java","-Djava.security.egd=file:/dev/./urandom","-jar","${project.build.finalName}.jar"]</entryPoint><dockerHost>http://192.168.209.137:2375</dockerHost><!--这里是复制 jar包到 docker 容器指定目录配置--><resources><resource><targetPath>/root</targetPath><!--用于指定需要复制的目录--><directory>${project.build.directory}</directory><!--用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件--><include>${project.build.finalName}.jar</include></resource></resources></configuration></plugin></plugins></build>
在控制台中执行 mvn clean package docker:build命令进行打包生成镜像
