Docker学习笔记2-实战Spring Cloud打包部署

1、使用linux虚拟机离线安装docker

(1) 登录docker官网安装教程 https://docs.docker.com/installation/ 查看,里边有在线安装和离线安装。离线安装的话需要在指定网站下载deb安装包。本次使用 docker-ce_17.12.0_ce-0_ubuntu_amd64.deb安装包,下载地址为https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/。

(2)将安装包拷贝到本地linux虚拟机中,使用dpkg -i xxx.deb命令安装。这里有个问题,docker有一些依赖包,需要一并安装:

下载依赖deb。

网址:https://pkgs.org/

搜索:libltdl7

下载deb:libltdl7_2.4.6-0.1_amd64.deb

搜索:libgcrypt20

下载deb:libgcrypt20_1.6.5-2_amd64.deb

搜索:libsystemd-journal0

下载deb:libsystemd-journal0_215-17+deb8u7_amd64.deb

以上三个deb文件和docker安装包一起安装。将四个deb文件拷贝到一个目录中,执行dpkg -i *.deb命令

(3)敲命令docker -v 命令确认是否安装成功

2、开启远程访问/搭建java编译环境

如果开发环境是windows,为了在windows机器上能访问docker进行相关操作,这里需要在linux上开放一个端口并启用远程访问

(1)我们修改/etc/default/docker,然后重启docker服务即可。

 
 

现在本地和远程均可通过2375端口访问docker进程了。

(2)windows机器上配置环境变量DOCKER_HOST

以上操作不一定能成功,原因不明。

建议在linux环境下编译jar包,所以需要在linux下安装jdk、maven并配置环境变量和maven仓库。如果虚拟机不能连接大网,还需要借助Nginx做一个代理。

(1)安装JDK

(2)安装Maven

(3)配置maven仓库,如果虚拟机不能连接大网,则需要先安装Nginx,配置使用与虚拟机连通的能连大网的机器代理外部镜像源。

3、打开项目(eureka-server微服务)路径,在main文件夹下添加docker文件夹,添加dockerfile

 
 

注意:ADD那一行的jar包名称和版本号要与pom中的artifactId和version一致

4、修改pom加入编译插件

 
 

5、修改application.yml

 
 

6、从dockerfile中可以看到,打包依赖

 
 

这个镜像,所以,在打包之前我们需要先在liunx虚拟机中添加该镜像,如何添加呢,咱们的linux虚拟机连不上外网docker-hub,解决方法如下:

(1)找一个能连接到外网的linux虚拟机(比如说绿区虚拟机、阿里云的云主机等),安装docker,配置镜像加速器,加快访问docker-hub的速度:

(2)使用docker pull frolvlad/alpine-oraclejdk8:slim下载镜像

(3)使用docker save -o alpine-oraclejdk8_slim.tar frolvlad/alpine-oraclejdk8:slim将镜像打成tar包,传到离线linux虚拟机中

(4)使用docker load --input alpine-oraclejdk8_slim.tar载入镜像,输入docker images命令查看镜像是不是载入成功。

7、执行打包命令:

(1)cmd到微服务pom.xml所在目录

(2)输入命令:mvn clean

(3)输入命令: mvn package docker:build

进入target->docker目录,将生成的jar包拷贝到linux虚拟机中。

8、将该镜像跑起来:

linux虚拟机中执行命令:

docker run --name microservice-discovery-eureka -p 8761:8761 -v $PWD/microservice-discovery-eureka-0.0.1-SNAPSHOT.jar:/app.jar -d mambo/microservice-discovery-eureka

docker run --name eureka-client --link microservice-discovery-eureka:microservice-discovery-eureka -p 8762:8762 -v $PWD/microservice-discovery-eureka-0.0.1-SNAPSHOT.jar:/app.jar -d mambo/microservice-discovery-eureka

执行docker images和docker ps -a可以看到镜像已经装好而且容器已经运行。

9、访问下172.27.28.134(宿主机IP):8761试试:

640?wx_fmt=png

OK

微信不允许插入外部链接,为了方便找到链接,请查看原文。这篇排版比较乱,请谅解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值