通过dockerfile发布微服务部署到docker容器

dockerfile

 

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

一.不用docker-compose的搭建 

1.项目用到了msql和redis 先搭建redis和mysql容器

2.将项目进行打包

3.在linux虚拟机上任意一个目录(我的是/mydata/mydocker)下创建Dockerfile文件

# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER zxl
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为partsstock.jar
ADD shkjPartsstock.jar partsstock.jar
# 运行jar包
RUN bash -c 'touch /partsstock.jar'
ENTRYPOINT ["java","-jar","/partsstock.jar"]
#暴露11532端口作为微服务 代码后端的server-port
EXPOSE 11532

 

4.将打包好的项目和 Dockerfile放在同一路径下

 5.构建镜像

docker build -t partsstock:1.4 .

6.运行容器

 docker run -d -p 11532:11532 partsstock:1.4

7.接下来就可以正常访问了 

二.基于Docker-compose容器编排实现微服务的搭建

1.编写docker-compose.yml文件(docker-compose config -q检查文件正确性)

version: "3"
 
services:
  microService:#(保证全局唯一即可)
    image: partsstock:1.4
    container_name: ms01 #容器名称
    ports:
      - "11532:11532"
    volumes:
      - /app/microService:/data
    networks: 
      - partstock_net 
    depends_on: 
      - redis
      - mysql
 
  redis:
    image: redis:6.0.8
    ports:
      - "6379:6379"
    volumes:
      - /app/redis/redis.conf:/etc/redis/redis.conf
      - /app/redis/data:/data
    networks: 
      - partstock_net
    command: redis-server /etc/redis/redis.conf
 
  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_USER: 'root'
      MYSQL_PASS: '123456''
    ports:
       - "3306:3306"
    volumes:
       - /app/mysql/db:/var/lib/mysql
       - /app/mysql/conf/my.cnf:/etc/my.cnf
       - /app/mysql/init:/docker-entrypoint-initdb.d
    networks:
      - partstock_net
    command: --default-authentication-plugin=mysql_native_password #解决外部无法访问
 
networks: 
   partstock_net: 
 

2.编写Dockerfile

# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER zxl
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为partsstock.jar
ADD shkjPartsstock.jar partsstock.jar
# 运行jar包
RUN bash -c 'touch /partsstock.jar'
ENTRYPOINT ["java","-jar","/partsstock.jar"]
#暴露11532端口作为微服务 代码后端的server-port
EXPOSE 11532

在当前目录下执行

docker-compose up -d

文件目录如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值