docker远程访问配置
vi /usr/lib/systemd/system/docker.service 在ExecStart行最后增加,开放远程主机访问权限。 -H tcp://0.0.0.0:2375 最后增加修改内容如下: ExecStart=/usr/bin/dockerd -H fd:// —containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 重启docker systemctl daemon-reload systemctl restart docker
查看docker进程,发现docker守护进程在已经监听2375的tcp端口
ps -ef|grep docker
查看端口是否开启
netstat -nlpt # yum install net-tools
直接 curl 看是否生效
curl http://ip:2375/info
查看系统的网络端口,检查tcp的2375端口,docker的守护进程是否监听
netstat -tulp
IDEA配置Docker
idea安装docker插件
配置docker

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

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

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
第二章方式 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命令进行打包生成镜像
