栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

一.不用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

文件目录如下

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020952.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号