-java
一、纠结了一下下,这么简单的部署流程是否须要详细的贴出来,然而纠结了一下仍是将这个简单的部署流程补充完整了; 二、通过上节的讲解,相信你们已经对docker的命令操做都有了必定的了解,这里我就暂且默认你们都拥有了可操做的环境以及了解操做指令; 三、本章节基于docker来操做部署SpringCloud项目; 四、注意在利用idea打包生成jar文件时,里面的localhost请改为你的宿主机的ip地址,可是若是统一部署到测试或者生产环境的话,请改成动态配置,方便动态修改,所以我这里作测试的话,首先将代码中的localhost就直接改为宿主机的ip地址,而后再打出jar包;
一、这个打包就看你们喜爱,用命令打包也好,用鼠标操做打包也好,反正目的就是在项目的target目录下生成jar文件便可; 二、本人这里使用ideaIDE开发工具,就沿着 Maven Project -> springms-simple-provider-user -> Lifecycle -> package 路径双击 package 便可; 三、而后就会看到项目中 springms-simple-provider-user/target 下多了一个 springms-simple-provider-user-1.0-SNAPSHOT.jar 文件;
一、本人在Linux下喜欢操做命令,因此这里就给你们演示一下怎么用SecureCRT执行命令将文件传到服务器; 二、首先登陆上服务器就不用说了,而后在SecureCRT中操做 “alt+p” 快捷键操做,此时将会打开一个新的页签,页签的第一行则是 “sftp>” 这个字样,说明已经进入了上传文件的命令窗口了; 三、找到须要将文件放置到服务器的位置; sftp> cd /home/docker/demo sftp> put D:\ANDROID\Code\Spring-Cloud\SpringCloudTutorial\springms-simple-provider-user\target\springms-simple-provider-user-1.0-SNAPSHOT.jar Uploading springms-simple-provider-user-1.0-SNAPSHOT.jar to /home/docker/demo/springms-simple-provider-user-1.0-SNAPSHOT.jar 100% 31995KB 1333KB/s 00:00:24 D:/ANDROID/Code/Spring-Cloud/SpringCloudTutorial/springms-simple-provider-user/target/springms-simple-provider-user-1.0-SNAPSHOT.jar: 32763475 bytes transferred in 24 seconds (1333 KB/s) sftp> 四、而后切换到刚刚敲 “alt+p” 快捷键的那个窗口,执行命令查看文件是否上传成功 [root@svr01 ~]# ls /home/docker/demo springms-simple-provider-user-1.0-SNAPSHOT.jar
一、进入 /home/docker/demo [root@svr01 ~]# cd /home/docker/demo 二、采用 vim或者vi 命令建立 Dockerfile 文件,并输入文件内容 [root@svr01 demo]# vim Dockerfile FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD springms-simple-provider-user-1.0-SNAPSHOT.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] 三、保存 Dockerfile 文件内容,执行命令顺序以下,命令的前后执行顺序为: Esc Shift+: wq Enter
一、构建镜像 [root@svr01 demo]# docker build -t springms-simple-provider-user . Sending build context to Docker daemon 32.77 MB Step 1 : FROM frolvlad/alpine-oraclejdk8:slim ---> 4f03dc990224 Step 2 : VOLUME /tmp ---> Running in dfd09d567767 ---> f76843b950c7 Removing intermediate container dfd09d567767 Step 3 : ADD springms-simple-provider-user-1.0-SNAPSHOT.jar app.jar ---> e009af0cc3bc Removing intermediate container 0884992be7c0 Step 4 : RUN sh -c 'touch /app.jar' ---> Running in 4fb67225860f ---> 06320de95ea3 Removing intermediate container 4fb67225860f Step 5 : ENV JAVA_OPTS "" ---> Running in 519c55360fda ---> bb2377cac425 Removing intermediate container 519c55360fda Step 6 : ENTRYPOINT sh -c java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar ---> Running in 95eb606d0e57 ---> 2aaa88be3d65 Removing intermediate container 95eb606d0e57 Successfully built 2aaa88be3d65 二、查看产生的镜像 [root@svr01 demo]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE springms-simple-provider-user latest 2aaa88be3d65 6 seconds ago 235.6 MB docker.io/centos v2 11efb35f320c 7 hours ago 307.5 MB docker.io/frolvlad/alpine-oraclejdk8 latest 4f03dc990224 12 days ago 170.1 MB frolvlad/alpine-oraclejdk8 slim 4f03dc990224 12 days ago 170.1 MB docker.io/centos latest 3fa822599e10 2 weeks ago 203.5 MB docker.io/hello-world latest f2a91732366c 3 weeks ago 1.848 kB
[root@svr01 demo]# docker run -p 8000:8000 -t springms-simple-provider-user . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.4.1.RELEASE) 。。。。 【【【【【【 简单用户微服务 】】】】】】已启动.
一、还记得我么在电脑本机测试的地址么,地址为:http://localhost:8000/simple/1 ? 二、如今目前我在阿里云上部署操做,因此这个localhost我就须要换成阿里云的ip地址,总而言之这个localhost换成你docker所在服务器的宿主机ip地址准没错;
[root@svr01 docker]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3a6393ce51b8 springms-simple-provider-user "sh -c 'java $JAVA_OP" 8 minutes ago Up 8 minutes 0.0.0.0:8000->8000/tcp sick_shannon [root@svr01 docker]# docker stop 3a6393ce51b8 3a6393ce51b8 [root@svr01 docker]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3a6393ce51b8 springms-simple-provider-user "sh -c 'java $JAVA_OP" 8 minutes ago Exited (137) 3 seconds ago sick_shannon [root@svr01 docker]#
到此为止,咱们已经将咱们打包好的一个镜像成功部署了,而且能够成功在浏览器访问到输出数据;
一、springms-discovery-eureka 二、springms-provider-user 三、springms-consumer-movie-feign
一、springms-discovery-eureka-1.0-SNAPSHOT.jar 二、springms-provider-user-1.0-SNAPSHOT.jar 三、springms-consumer-movie-feign-1.0-SNAPSHOT.jar
[root@svr01 ~]# cd /home/docker/ [root@svr01 docker]# mkdir -p springms-consumer-movie-feign springms-discovery-eureka springms-provider-user [root@svr01 docker]# ll total 3 drwxr-xr-x 2 root root 76 Dec 15 12:59 demo drwxr-xr-x 2 root root 76 Dec 15 13:44 springms-consumer-movie-feign drwxr-xr-x 2 root root 72 Dec 15 13:09 springms-discovery-eureka drwxr-xr-x 2 root root 69 Dec 15 13:43 springms-provider-user [root@svr01 docker]#
sftp> cd /home/docker/springms-discovery-eureka sftp> put D:\ANDROID\Code\Spring-Cloud\SpringCloudTutorial\springms-discovery-eureka\target\springms-discovery-eureka-1.0-SNAPSHOT.jar Uploading springms-discovery-eureka-1.0-SNAPSHOT.jar to /home/docker/springms-discovery-eureka/springms-discovery-eureka-1.0-SNAPSHOT.jar 100% 31595KB 1333KB/s 00:00:24 D:/ANDROID/Code/Spring-Cloud/SpringCloudTutorial/springms-discovery-eureka/target/springms-discovery-eureka-1.0-SNAPSHOT.jar: 32776474 bytes transferred in 28 seconds (1383 KB/s) sftp> sftp> sftp> sftp> cd /home/docker/springms-provider-user sftp> put D:\ANDROID\Code\Spring-Cloud\SpringCloudTutorial\springms-provider-user\target\springms-provider-user-1.0-SNAPSHOT.jar Uploading springms-discovery-eureka-1.0-SNAPSHOT.jar to /home/docker/springms-provider-user/springms-provider-user-1.0-SNAPSHOT.jar 100% 31565KB 1333KB/s 00:00:24 D:/ANDROID/Code/Spring-Cloud/SpringCloudTutorial/springms-provider-user/target/springms-provider-user-1.0-SNAPSHOT.jar: 32763789 bytes transferred in 27 seconds (1313 KB/s) sftp> sftp> sftp> sftp> cd /home/docker/springms-consumer-movie-feign sftp> put D:\ANDROID\Code\Spring-Cloud\SpringCloudTutorial\springms-consumer-movie-feign\target\springms-consumer-movie-feign-1.0-SNAPSHOT.jar Uploading springms-discovery-eureka-1.0-SNAPSHOT.jar to /home/docker/springms-consumer-movie-feign/springms-consumer-movie-feign-1.0-SNAPSHOT.jar 100% 32195KB 1333KB/s 00:00:24 D:/ANDROID/Code/Spring-Cloud/SpringCloudTutorial/springms-consumer-movie-feign/target/springms-consumer-movie-feign-1.0-SNAPSHOT.jar: 32712375 bytes transferred in 25 seconds (1413 KB/s)
[root@svr01 docker]# ll total 4 drwxr-xr-x 2 root root 76 Dec 15 12:59 demo drwxr-xr-x 2 root root 76 Dec 15 13:44 springms-consumer-movie-feign drwxr-xr-x 2 root root 72 Dec 15 13:09 springms-discovery-eureka drwxr-xr-x 2 root root 69 Dec 15 13:43 springms-provider-user [root@svr01 docker]# ls springms-discovery-eureka/ springms-discovery-eureka-1.0-SNAPSHOT.jar [root@svr01 docker]# ls springms-provider-user/ springms-provider-user-1.0-SNAPSHOT.jar [root@svr01 docker]# ls springms-consumer-movie-feign/ springms-consumer-movie-feign-1.0-SNAPSHOT.jar [root@svr01 docker]#
[root@svr01 ~]# cd /home/docker/springms-discovery-eureka [root@svr01 springms-discovery-eureka]# vim Dockerfile FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD springms-discovery-eureka-1.0-SNAPSHOT.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] 保存Dockfile文件 [root@svr01 springms-discovery-eureka]# [root@svr01 springms-discovery-eureka]# cd /home/docker/springms-provider-user [root@svr01 springms-provider-user]# vim Dockerfile FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD springms-provider-user-1.0-SNAPSHOT.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] 保存Dockfile文件 [root@svr01 springms-provider-user]# cd /home/docker/springms-consumer-movie-feign [root@svr01 springms-consumer-movie-feign]# vim Dockerfile FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD springms-consumer-movie-feign-1.0-SNAPSHOT.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] 保存Dockfile文件 [root@svr01 springms-consumer-movie-feign]# cd .. [root@svr01 docker]# ls springms-discovery-eureka/ Dockerfile springms-discovery-eureka-1.0-SNAPSHOT.jar [root@svr01 docker]# ls springms-provider-user/ Dockerfile springms-provider-user-1.0-SNAPSHOT.jar [root@svr01 docker]# ls springms-consumer-movie-feign/ Dockerfile springms-consumer-movie-feign-1.0-SNAPSHOT.jar [root@svr01 docker]#
[root@svr01 docker]# cd springms-discovery-eureka [root@svr01 springms-discovery-eureka]# docker build -t springms/discovery-eureka . [root@svr01 springms-discovery-eureka]# cd ../springms-provider-user [root@svr01 springms-provider-user]# docker build -t springms/provider-user . [root@svr01 springms-provider-user]# cd ../springms-consumer-movie-feign [root@svr01 springms-consumer-movie-feign]# docker build -t springms/consumer-movie-feign . [root@svr01 springms-consumer-movie-feign]# cd .. [root@svr01 docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE springms/consumer-movie-feign latest f6e9ac5c27a7 19 hours ago 507.5 MB springms/provider-user latest d2b16dc2df77 19 hours ago 535.2 MB springms/discovery-eureka latest f0f8555dcd0b 19 hours ago 517.1 MB
[root@svr01 docker]# docker run -p 8761:8761 -t -d springms/discovery-eureka [root@svr01 docker]# docker run -p 7900:7900 -t -d springms/provider-user [root@svr01 docker]# docker run -p 7910:7910 -t -d springms/consumer-movie-feign
一、首先进入eureka注册中心:http://宿主机IP地址:8761,结果看到2个微服务已经注册上来了,若还没出现的话,稍微等待一下下; 二、测试 http://宿主机IP地址:7910/movie/4,结果能够看到信息输出; 三、说明上述相关的docker部署操做准确无误,一切正常;
既然上面提到了手动部署操做,那么服务多的话,一个个手动部署,岂不是累死去啊,那么在后续的章节中,陆续给你们讲解采用docker服务编排部署操做;
https://gitee.com/ylimhhmily/SpringCloudTutorial.gitlinux
SpringCloudTutorial交流QQ群: 235322432git
SpringCloudTutorial交流微信群: 微信沟通群二维码图片连接spring
欢迎关注,您的确定是对我最大的支持!!!docker