博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在线考试系统镜像构建、推送、部署
阅读量:5087 次
发布时间:2019-06-13

本文共 2294 字,大约阅读时间需要 7 分钟。

前提

  • 本地安装docker、docker-compose

  • 注册阿里云账号

步骤

  1. 在本地开发环境构建镜像
  • 后端项目

spring-microservice-exam目录下运行:

1
mvn clean package

docker插件配置打包的同时构建镜像

构建成功:

  • 前端项目

spring-microservice-exam-ui为例,在spring-microservice-exam-ui目录下运行打包命令:

1
npm run build

运行成功后会生成dist目录,里面是项目的静态资源,再运行构建镜像命令

1
docker build -t registry.cn-hangzhou.aliyuncs.com/spring-microservice-exam/spring-microservice-exam-ui:2.0 .

本地试运行命令:

1
docker run -d -p 80:80 --name spring-microservice-exam-ui registry.cn-hangzhou.aliyuncs.com/spring-microservice-exam/spring-microservice-exam-ui:2.0
  1. 创建命名空间和镜像仓库

登录阿里云控制台,在容器镜像服务菜单下,创建spring-microservice-exam命名空间和各服务的仓库

如:config-serviceauth-servicespring-microservice-ui

  1. 在开发环境将镜像推送到仓库:

config-service为例

1
docker push registry.cn-hangzhou.aliyuncs.com/spring-microservice-exam/config-service:2.0
  1. 登录腾讯云服务器,拉取镜像

登录阿里云Docker Registry:

1
docker login --username=你的阿里云账号 registry.cn-hangzhou.aliyuncs.com

拉取镜像:

1
docker pull registry.cn-hangzhou.aliyuncs.com/spring-microservice-exam/config-service:2.0
  1. 运行镜像:
1
docker run -d -p 8769:8769 --name config-service registry.cn-hangzhou.aliyuncs.com/spring-microservice-exam/config-service:2.0

docker常用命令

1. 查看所有容器:docker ps -a2. 删除镜像:docker rmi imageId3. 删除容器:docker rm containerId4. 直接运行一个停止的容器:docker start containerId5. 进入容器:docker exec -it 09d2a6ee4095 /bin/bash6. 退出容器:exit7. 将容器打包成镜像:docker commit containerId imageName,如:docker commit 1f9dfc05e3ad spring-microservice-exam-mysql

docker-compose

基本命令:

基本命令:    1. 启动镜像:docker-compose up    2. 后台启动:docker-compose up -d // 后台启动并运行容器    3. 指定配置文件:docker-compose -f docker-compose-base.yml up    4. 构建服务:docker-compose -f docker-compose-base.yml build    5. 列出所有容器:docker-compose ps    6. 删除容器:docker-compose rm container,如:docker-compose rm config-service    7. 停止正在运行的容器:docker-compose stop

使用示例

MySQL镜像构建、运行、初始化的docker-compose例子:

docker-compose-env.yml:  # MySQL  spring-microservice-exam-mysql:    image: mysql:5.7    volumes:      - data:/var/lib/mysql      # 自动执行初始化脚本      - ./doc/deploy/mysql:/docker-entrypoint-initdb.d/    environment:      MYSQL_ROOT_PASSWORD: 11 # root账户的密码    restart: always    container_name: spring-microservice-exam-mysql    ports:      - 3306:3306  volumes:    data:      driver: local运行:docker-comopse -f docker-comopse-env.yml up

转载于:https://www.cnblogs.com/7788IT/p/11372842.html

你可能感兴趣的文章
jenkins 更换主数据目录
查看>>
Silverlight中恼人的g.i.cs错误
查看>>
SQLite 数据库增删改查
查看>>
<s:iterator>的status
查看>>
C++入门--1.0输入输出
查看>>
让搭建在Github Pages上的Hexo博客可以被Google搜索到
查看>>
Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十四章:曲面细分阶段...
查看>>
在WPF控件上添加Windows窗口式调整大小行为
查看>>
背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu
查看>>
打开3389
查看>>
React学习记录
查看>>
nginx常见内部参数,错误总结
查看>>
对象与类
查看>>
《奸的好人2》财色战场----笔记
查看>>
BZOJ 1834网络扩容题解
查看>>
bzoj1878
查看>>
【Vegas原创】Mysql绿色版安装方法
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
.NET下XML文件的读写
查看>>
2009程序员考试大纲
查看>>