1、微服务打包成 jar 包

(1)使用 maven 进行打包

(2)生成的 jar 包位于 taget 目录下

2、编写 Dockerfile 文件

FROM java:8
VOLUME /tmp
ADD microservice-provider-user-0.0.1-SNAPSHOT.jar /microservice-provider-user.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/microservice-provider-user.jar"]

Dockerfile 文件命令解析:
FROM:为映像文件构建指定基础映像,指定的基础镜像可以是官方远程仓库中的,也可以是位于本地仓库,默认情况下现在docker本机仓库寻找,找不到则从官方远程仓库拉取。本文件指定了继承于一个带有 java8 环境的镜像,新的镜像会以这个环境为基础进行拓展。

ADD:复制指定的< src>到容器中的< dest>,其中< src> 可以是 Dockerfile 所在目录的一个相对路径(文件或目录),也可以是一个URL。ADD命令在引入压缩包文件时,会自动解压到镜像中,然后删掉压缩包,不需要再执行解压命令,这时候SpringBoot的相关文件已经引入到镜像。

< dest>路径的填写可以是容器内的绝对路径,也可以是相对于工作目录的相对路径
< src>可以是一个本地文件或者是一个本地压缩文件(可以是Dockerfile所在目录的一个相对路径),还可以是一个url
VOLUME
用于指定持久化目录,实现挂载功能,授权访问从容器内到主机上的目录。用于containers之间共享数据,将本地文件夹或者其他容器中的文件夹挂在到这个容器中等。

容器使用的是AUFS,这种文件系统不能持久化数据,当容器关闭后,所有的更改都会丢失,所以当数据需要持久化时用这个命令。
一个卷可以存在于一个或多个容器的指定目录,该目录可以绕过联合文件系统
卷可以容器间共享和重用 可以关注参数 --volumes-from
容器并不一定要和其它容器共享卷
修改卷后会立即生效
对卷的修改不会对镜像产生影响
卷会一直存在,直到没有任何容器在使用它
ENTRYPOINT
启动时的默认命令,配置给容器一个可执行的命令,这意味着在每次使用镜像创建容器时一个特定的应用程序可以被设置为默认程序。同时也意味着该镜像每次被调用时仅能运行指定的应用。ENTRYPOINT与CMD非常类似,不同的是通过docker run执行的命令不会覆盖ENTRYPOINT,而docker run命令中指定的任何参数,都会被当做参数再次传递给ENTRYPOINT。Dockerfile中只允许有一个ENTRYPOINT命令,指定多个时靠后的设置会覆盖前面的设置,而只执行最后的ENTRYPOINT指令

EXPOSE
指定于外界交互的端口,即容器在运行时监听的端口

EXPOSE并不会让容器的端口访问到主机。要使其可访问,需要在docker run运行容器时通过-p来发布这些端口,或通过-P参数来发布EXPOSE导出的所有端口
默认是TCP

3、将打包好的 jar 包和 Dockerfile 文件放在同一目录下

将 jar 包和 Dockerfile 文件都放在Linux服务器的 /home/lhj/weifuwu/ 目录下

4、创建镜像

(1)构建构建,首先 cd 到刚才 Dockerfile 文件的目录下

(2)然后执行以下命令来构建镜像

sudo docker build -t="test/mico_service" .

-t参数用来指定生成docker镜像的仓库和镜像名,test为仓库名(可以省略),/后为镜像名,命令时不能使用大写字母最后面的点来指定Dockerfile的位置,因为已经cd到当前目录了,所以写点“.”即可


(3)docker images 查看所有镜像

5、启动镜像,构建实例

sudo docker run -d -p 8080:80 --name mymico test/mico_service

-d参数表明启动镜像作为一个守护进程,在后台一直运行,-p用来指定镜像的端口映射,如上就是将docker容器的80端口映射到主机的8080端口,–name来指定启动容器的名称,后面的第一个参数为镜像名称,最后面的参数就是实例容器仓库名/实例容器名

6、浏览器访问


能够正常访问。

Docker 部署微服务相关推荐

  1. docker部署微服务项目

    上次有人说部署单个springboot项目和ssm写的非常的简单可以写一篇docker部署微服务的结构的文章的吗 安排 什么是微服务? 微服务架构是一种将单个应用程序作为一套小型服务开发的方法,每种应 ...

  2. Docker部署微服务应用笔记(三)

    Docker安装java:8环境 因为现在都是使用java8开发直接使用命令: docker pull java这是默认下载最新版本镜像 docker pull java:8这是下载指定版本镜像 列出 ...

  3. k8s+jenkins+docker部署微服务实现CI/CD

    "所爱隔山海,山海不可平,海有舟可渡,山有路可行,此爱翻山海,山海皆可平." 作为一个想搞开发的,最近似乎都在干运维,不知道有没有跑偏... 2021.5.14 一般的中小公司个人 ...

  4. Docker 部署微服务项目

    目录 一.前言 二.环境准备 1.安装 Docker 2.Docker 安装 MySQL 3.Docker 安装 Redis 4.Docker 安装 Nacos 5.Docker 安装 Nginx 三 ...

  5. Docker部署微服务详解

    2019独角兽企业重金招聘Python工程师标准>>> 2013年发布至今,Docker一直广受瞩目,被认为可能会改变软件行业. 但是,许多人并不清楚Docker 到底是什么,要解决 ...

  6. pg安装部署linux_简简单单基于docker部署微服务网关

    ❝ 本文整理于今年3月,收录在个人开源仓库JavaScriptCollection中,其中很多概念不乏借鉴.摘抄自官网,便于复习相关概念,有兴趣的可以直接去仓库Clone文档学习.参考! ❞ 基本概念 ...

  7. Docker部署微服务时Springcloud网关报错 java.net.UnknownHostException: xxx: Name or service not known

    文章目录 一.问题 二.原因 三.解决办法 一.问题 eureka.gateway 和 微服务应用 部署好后用网关访问应用时报错 java.net.UnknownHostException: 235e ...

  8. 微服务开发及部署_简简单单基于docker部署微服务网关

    ❝ 本文整理于今年3月,收录在个人开源仓库JavaScriptCollection中,其中很多概念不乏借鉴.摘抄自官网,便于复习相关概念,有兴趣的可以直接去仓库Clone文档学习.参考! ❞ 基本概念 ...

  9. Java学习 --- docker部署微服务项目

    目录​​​​​​​ 一.创建一个springboot项目 1.1.修改pom.xml文件 1.2.修改application.properties配置文件 1.3.创建controller层和类 1. ...

最新文章

  1. [LeetCode] Add Two Numbers(stored in List)
  2. java 正则表达式入门(一)
  3. C#定时清理内存,net网页端可以尝试使用
  4. VScode+SSH Remote多级连跳配置
  5. Control.BeginInvoke 和 Delegate.BeginInvoke 备忘
  6. Python基础学习四 函数
  7. android 双人黑白棋开发博客,黑白棋 - 软件资讯 - 课堂党年级博客
  8. RHEL5.6更新yum源
  9. 《统计学习方法》—— k近邻方法、kd树以及python3实现
  10. Linux终端显示图像
  11. bug管理工具之禅道的测试模块的使用
  12. json.loads(string) string中的key必须使用双引号,不能使用单引号
  13. 信息学奥赛一本通1045
  14. 【BZOJ2827】千山鸟飞绝 离散化+splay
  15. 【架构设计】简单设计原则(Kent Beck)
  16. play框架用起来(3)
  17. 如何挽救婚姻?不想离婚就做好这8个方面,分分钟留下她
  18. ZOJ2477 拼魔方
  19. android java 线程通信_Android 线程间通信
  20. 月薪3w算法工程师日均7行代码被开除 / AI歌手入学上海音乐学院 / 天文照片被植入恶意代码...

热门文章

  1. android分享微信朋友圈带编辑功能吗,终于被我等到了,微信新版本能编辑别人的朋友圈啦!...
  2. 三次方分解因式重要公式
  3. 小白的 Python学习笔记 之 input()
  4. Semantic Segmentation: A thorough Review
  5. 固态装linux,Linux下安装SSD固态卡
  6. 【JavaScript】案例1:使用JS完成注册页面校验
  7. OpenJudgeNOI4978 宠物小精灵之收服
  8. On the burstiness of visual elements
  9. DevpTips【powerpoint】发现打不开,显示发现文件中的内容有问题。可尝试修复此演示文稿。
  10. 01.什么是数学建模