将docker应用并发布到远程服务器
docker开启远程访问接口docker得环境搭建这里就不重复了,还不会得可以自行去百度,也就几个命令。想要将本地镜像推送到阿里云得docker容器上,需要开启远程访问权限首先编辑docker的宿主机文件/lib/systemd/system/docker.servicevi /lib/systemd/system/docker.service修改以ExecStart开头的行,我这里是...
docker开启远程访问接口
docker得环境搭建这里就不重复了,还不会得可以自行去百度,也就几个命令。
想要将本地镜像推送到阿里云得docker容器上,需要开启远程访问权限
首先编辑docker的宿主机文件/lib/systemd/system/docker.service
vi /lib/systemd/system/docker.service
修改以ExecStart开头的行,我这里是腾讯云服务器center os 7 ,修改后为:
修改后保存文件,然后通知和重启服务
systemctl daemon-reload
service docker restart
可是执行 service docker restart 重启docker会报错查看:https://blog.csdn.net/hdu09075340/article/details/101060655
重启完成以后可以在本机验证,通过curl命令可以查看版本信息
curl http://localhost:2375/version
开启白名单,让客户端能够远程访问
我们在远程机器开启了端口,但是一般得云服务器都需要设置端口白名单才可以访问,具体设置端口白名单这里就不介绍了,设置完成以后,可以通过外网ip在windows机器浏览器进行访问
本地docker项目发布镜像到远程服务器
不以实战为目的得技术就是耍流氓,假设现在有个需求:作为码农得我开发了一个博客系统,现在开发完毕之后想部署到远程服务器上去。
传统部署方案
服务器上装jdk,装tomcat等—>项目打包->ftp上传->启动项目
docker部署方案
docker部署方案:项目集成docker插件->本地打包->项目构建镜像到远程机器->远程服务器下载镜像并启动
通过两套发布流程比较我们就能知道各自得优劣了,这里不再累赘,开始进行第二种方案实战!
首先进行本地环境变量配置
如图,配置DOCKER_HOST得远程tcp连接。
将项目导入到idea里面,我们看看主要得docker相关配置
Dockerfile文件
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD demo-1.0.0-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
maven依赖
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<dockerHost>http://10.254.193.119:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
使用idea自带得docker插件进行构建镜像
首先对项目进行打包
打包完成以后,点击docker:build
构建成功后日志如下:
D:\devsoft\Java\jdk1.8.0_121\bin\java.exe -Dmaven.multiModuleProjectDirectory=D:\Learning-materials\microservices\springcloud-greenwich-github\MicroservicesGreenwich\demo -Dmaven.home=D:\devsoft\apache-maven-3.5.0 -Dclassworlds.conf=D:\devsoft\apache-maven-3.5.0\bin\m2.conf "-Dmaven.ext.class.path=D:\Program Files\JetBrains\IntelliJ IDEA 2019.2\plugins\maven\lib\maven-event-listener.jar" "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2019.2\lib\idea_rt.jar=53271:D:\Program Files\JetBrains\IntelliJ IDEA 2019.2\bin" -Dfile.encoding=UTF-8 -classpath D:\devsoft\apache-maven-3.5.0\boot\plexus-classworlds-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version2019.2 -s D:\devsoft\apache-maven-3.5.0\conf\settings.xml com.spotify:docker-maven-plugin:1.0.0:build
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building demo 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- docker-maven-plugin:1.0.0:build (default-cli) @ demo ---
[INFO] Using authentication suppliers: [ConfigFileRegistryAuthSupplier]
[INFO] Copying D:\Learning-materials\microservices\springcloud-greenwich-github\MicroservicesGreenwich\demo\target\demo-1.0.0-SNAPSHOT.jar -> D:\Learning-materials\microservices\springcloud-greenwich-github\MicroservicesGreenwich\demo\target\docker\demo-1.0.0-SNAPSHOT.jar
[INFO] Copying src\main\docker\Dockerfile -> D:\Learning-materials\microservices\springcloud-greenwich-github\MicroservicesGreenwich\demo\target\docker\Dockerfile
[INFO] Building image demo-docker/demo
Step 1/4 : FROM openjdk:8-jdk-alpine
Pulling from library/openjdk
e7c96db7181b: Already exists
f910a506b6cb: Pulling fs layer
c2274a1a0e27: Pulling fs layer
f910a506b6cb: Downloading [==================================================>] 238B/238B
f910a506b6cb: Verifying Checksum
f910a506b6cb: Download complete
f910a506b6cb: Extracting [==================================================>] 238B/238B
f910a506b6cb: Extracting [==================================================>] 238B/238B
f910a506b6cb: Pull complete
c2274a1a0e27: Downloading [> ] 524.5kB/70.73MB
c2274a1a0e27: Downloading [=> ] 2.1MB/70.73MB
c2274a1a0e27: Downloading [==> ] 3.675MB/70.73MB
c2274a1a0e27: Downloading [===> ] 4.725MB/70.73MB
c2274a1a0e27: Downloading [====> ] 6.825MB/70.73MB
c2274a1a0e27: Downloading [=====> ] 8.4MB/70.73MB
c2274a1a0e27: Downloading [=======> ] 9.975MB/70.73MB
c2274a1a0e27: Downloading [========> ] 11.55MB/70.73MB
c2274a1a0e27: Downloading [=========> ] 13.12MB/70.73MB
c2274a1a0e27: Downloading [==========> ] 14.7MB/70.73MB
c2274a1a0e27: Downloading [===========> ] 16.27MB/70.73MB
c2274a1a0e27: Downloading [============> ] 17.85MB/70.73MB
c2274a1a0e27: Downloading [=============> ] 19.42MB/70.73MB
c2274a1a0e27: Downloading [==============> ] 20.47MB/70.73MB
c2274a1a0e27: Downloading [===============> ] 22.05MB/70.73MB
c2274a1a0e27: Downloading [================> ] 23.62MB/70.73MB
c2274a1a0e27: Downloading [=================> ] 25.2MB/70.73MB
c2274a1a0e27: Downloading [==================> ] 26.77MB/70.73MB
c2274a1a0e27: Downloading [====================> ] 28.35MB/70.73MB
c2274a1a0e27: Downloading [=====================> ] 29.92MB/70.73MB
c2274a1a0e27: Downloading [=====================> ] 30.97MB/70.73MB
c2274a1a0e27: Downloading [=======================> ] 32.55MB/70.73MB
c2274a1a0e27: Downloading [=======================> ] 33.6MB/70.73MB
c2274a1a0e27: Downloading [========================> ] 34.12MB/70.73MB
c2274a1a0e27: Downloading [========================> ] 35.17MB/70.73MB
c2274a1a0e27: Downloading [=========================> ] 35.7MB/70.73MB
c2274a1a0e27: Downloading [=========================> ] 36.22MB/70.73MB
c2274a1a0e27: Downloading [=========================> ] 36.75MB/70.73MB
c2274a1a0e27: Downloading [==========================> ] 37.27MB/70.73MB
c2274a1a0e27: Downloading [==========================> ] 37.8MB/70.73MB
c2274a1a0e27: Downloading [===========================> ] 38.32MB/70.73MB
c2274a1a0e27: Downloading [===========================> ] 38.85MB/70.73MB
c2274a1a0e27: Downloading [===========================> ] 39.37MB/70.73MB
c2274a1a0e27: Downloading [============================> ] 39.9MB/70.73MB
c2274a1a0e27: Downloading [============================> ] 40.42MB/70.73MB
c2274a1a0e27: Downloading [============================> ] 40.95MB/70.73MB
c2274a1a0e27: Downloading [=============================> ] 41.47MB/70.73MB
c2274a1a0e27: Downloading [=============================> ] 42MB/70.73MB
c2274a1a0e27: Downloading [==============================> ] 42.52MB/70.73MB
c2274a1a0e27: Downloading [==============================> ] 43.05MB/70.73MB
c2274a1a0e27: Downloading [==============================> ] 43.57MB/70.73MB
c2274a1a0e27: Downloading [===============================> ] 44.1MB/70.73MB
c2274a1a0e27: Downloading [===============================> ] 44.62MB/70.73MB
c2274a1a0e27: Downloading [===============================> ] 45.15MB/70.73MB
c2274a1a0e27: Downloading [================================> ] 45.67MB/70.73MB
c2274a1a0e27: Downloading [================================> ] 46.2MB/70.73MB
c2274a1a0e27: Downloading [=================================> ] 46.72MB/70.73MB
c2274a1a0e27: Downloading [=================================> ] 47.25MB/70.73MB
c2274a1a0e27: Downloading [=================================> ] 47.77MB/70.73MB
c2274a1a0e27: Downloading [==================================> ] 48.3MB/70.73MB
c2274a1a0e27: Downloading [==================================> ] 48.82MB/70.73MB
c2274a1a0e27: Downloading [==================================> ] 49.35MB/70.73MB
c2274a1a0e27: Downloading [===================================> ] 49.87MB/70.73MB
c2274a1a0e27: Downloading [===================================> ] 50.4MB/70.73MB
c2274a1a0e27: Downloading [===================================> ] 50.92MB/70.73MB
c2274a1a0e27: Downloading [====================================> ] 51.45MB/70.73MB
c2274a1a0e27: Downloading [====================================> ] 51.97MB/70.73MB
c2274a1a0e27: Downloading [=====================================> ] 52.5MB/70.73MB
c2274a1a0e27: Downloading [=====================================> ] 53.02MB/70.73MB
c2274a1a0e27: Downloading [=====================================> ] 53.55MB/70.73MB
c2274a1a0e27: Downloading [======================================> ] 54.07MB/70.73MB
c2274a1a0e27: Downloading [======================================> ] 54.6MB/70.73MB
c2274a1a0e27: Downloading [======================================> ] 55.12MB/70.73MB
c2274a1a0e27: Downloading [=======================================> ] 55.65MB/70.73MB
c2274a1a0e27: Downloading [=======================================> ] 56.17MB/70.73MB
c2274a1a0e27: Downloading [========================================> ] 56.7MB/70.73MB
c2274a1a0e27: Downloading [========================================> ] 57.22MB/70.73MB
c2274a1a0e27: Downloading [========================================> ] 57.75MB/70.73MB
c2274a1a0e27: Downloading [=========================================> ] 58.27MB/70.73MB
c2274a1a0e27: Downloading [=========================================> ] 58.8MB/70.73MB
c2274a1a0e27: Downloading [=========================================> ] 59.32MB/70.73MB
c2274a1a0e27: Downloading [==========================================> ] 59.85MB/70.73MB
c2274a1a0e27: Downloading [==========================================> ] 60.37MB/70.73MB
c2274a1a0e27: Downloading [===========================================> ] 60.9MB/70.73MB
c2274a1a0e27: Downloading [===========================================> ] 61.42MB/70.73MB
c2274a1a0e27: Downloading [===========================================> ] 61.95MB/70.73MB
c2274a1a0e27: Downloading [============================================> ] 62.47MB/70.73MB
c2274a1a0e27: Downloading [============================================> ] 63MB/70.73MB
c2274a1a0e27: Downloading [============================================> ] 63.52MB/70.73MB
c2274a1a0e27: Downloading [=============================================> ] 64.05MB/70.73MB
c2274a1a0e27: Downloading [=============================================> ] 64.57MB/70.73MB
c2274a1a0e27: Downloading [==============================================> ] 65.1MB/70.73MB
c2274a1a0e27: Downloading [==============================================> ] 65.62MB/70.73MB
c2274a1a0e27: Downloading [==============================================> ] 66.15MB/70.73MB
c2274a1a0e27: Downloading [===============================================> ] 66.67MB/70.73MB
c2274a1a0e27: Downloading [===============================================> ] 67.2MB/70.73MB
c2274a1a0e27: Downloading [===============================================> ] 67.72MB/70.73MB
c2274a1a0e27: Downloading [================================================> ] 68.25MB/70.73MB
c2274a1a0e27: Downloading [================================================> ] 68.77MB/70.73MB
c2274a1a0e27: Downloading [================================================> ] 69.3MB/70.73MB
c2274a1a0e27: Downloading [=================================================> ] 69.82MB/70.73MB
c2274a1a0e27: Downloading [=================================================> ] 70.35MB/70.73MB
c2274a1a0e27: Verifying Checksum
c2274a1a0e27: Download complete
c2274a1a0e27: Extracting [> ] 557.1kB/70.73MB
c2274a1a0e27: Extracting [=> ] 1.671MB/70.73MB
c2274a1a0e27: Extracting [=> ] 2.785MB/70.73MB
c2274a1a0e27: Extracting [===> ] 4.456MB/70.73MB
c2274a1a0e27: Extracting [====> ] 6.128MB/70.73MB
c2274a1a0e27: Extracting [======> ] 8.913MB/70.73MB
c2274a1a0e27: Extracting [=======> ] 11.14MB/70.73MB
c2274a1a0e27: Extracting [=========> ] 13.93MB/70.73MB
c2274a1a0e27: Extracting [===========> ] 16.15MB/70.73MB
c2274a1a0e27: Extracting [=============> ] 18.94MB/70.73MB
c2274a1a0e27: Extracting [===============> ] 21.73MB/70.73MB
c2274a1a0e27: Extracting [================> ] 23.95MB/70.73MB
c2274a1a0e27: Extracting [==================> ] 26.18MB/70.73MB
c2274a1a0e27: Extracting [====================> ] 28.41MB/70.73MB
c2274a1a0e27: Extracting [=====================> ] 30.64MB/70.73MB
c2274a1a0e27: Extracting [=======================> ] 32.87MB/70.73MB
c2274a1a0e27: Extracting [========================> ] 35.09MB/70.73MB
c2274a1a0e27: Extracting [==========================> ] 37.32MB/70.73MB
c2274a1a0e27: Extracting [===========================> ] 39.55MB/70.73MB
c2274a1a0e27: Extracting [=============================> ] 42.34MB/70.73MB
c2274a1a0e27: Extracting [===============================> ] 45.12MB/70.73MB
c2274a1a0e27: Extracting [=================================> ] 47.91MB/70.73MB
c2274a1a0e27: Extracting [===================================> ] 49.58MB/70.73MB
c2274a1a0e27: Extracting [====================================> ] 51.81MB/70.73MB
c2274a1a0e27: Extracting [======================================> ] 54.03MB/70.73MB
c2274a1a0e27: Extracting [=======================================> ] 56.26MB/70.73MB
c2274a1a0e27: Extracting [=========================================> ] 58.49MB/70.73MB
c2274a1a0e27: Extracting [==========================================> ] 60.72MB/70.73MB
c2274a1a0e27: Extracting [============================================> ] 62.95MB/70.73MB
c2274a1a0e27: Extracting [=============================================> ] 64.62MB/70.73MB
c2274a1a0e27: Extracting [==============================================> ] 65.73MB/70.73MB
c2274a1a0e27: Extracting [===============================================> ] 66.85MB/70.73MB
c2274a1a0e27: Extracting [================================================> ] 68.52MB/70.73MB
c2274a1a0e27: Extracting [=================================================> ] 70.19MB/70.73MB
c2274a1a0e27: Extracting [==================================================>] 70.73MB/70.73MB
c2274a1a0e27: Pull complete
Digest: sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3
Status: Downloaded newer image for openjdk:8-jdk-alpine
---> a3562aa0b991
Step 2/4 : VOLUME /tmp
---> Running in 9866501a71d4
Removing intermediate container 9866501a71d4
---> f4247134db56
Step 3/4 : ADD demo-1.0.0-SNAPSHOT.jar app.jar
---> 9fe41d8b6c79
Step 4/4 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
---> Running in 619d8b8027ef
Removing intermediate container 619d8b8027ef
---> 5567045a3623
ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}
Successfully built 5567045a3623
Successfully tagged demo-docker/demo:latest
[INFO] Built demo-docker/demo
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 58.843 s
[INFO] Finished at: 2020-01-16T15:58:07+08:00
[INFO] Final Memory: 27M/459M
[INFO] ------------------------------------------------------------------------
此时我们登录远程机器,查看镜像是否发布上来。
可以看到已经构建成镜像并上传到镜像仓库了,并且image id 都一致。那么此时已经大功告成了!镜像都有了,直接一条命令构建容器并启动就可以了!激动人心得时刻即将到来!
docker run -p 8181:8080 --name demo -d 5567045a3623
正常启动,查看项目允许日志
docker logs -f demo
参考链接:
https://blog.csdn.net/lzp492782442/article/details/103082541
更多推荐
所有评论(0)