zoukankan      html  css  js  c++  java
  • 在线考试系统镜像构建、推送、部署

    前提

    • 本地安装docker、docker-compose

    • 注册阿里云账号

    步骤

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

    spring-microservice-exam目录下运行:

    1
    mvn clean package

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

    image

    构建成功:

    image

    • 前端项目

    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

    image

    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 -a
    2. 删除镜像:docker rmi imageId
    3. 删除容器:docker rm containerId
    4. 直接运行一个停止的容器:docker start containerId
    5. 进入容器:docker exec -it 09d2a6ee4095 /bin/bash
    6. 退出容器:exit
    7. 将容器打包成镜像: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
  • 相关阅读:
    谈一谈对象池SafeObjectPool能干什么
    .net core 程序退出事件
    .NETCore 快速开发做一个简易商城
    Git创建子分支,合并分支并提交
    Vue项目中关闭eslint的方法
    Missing space before function parentheses
    单引号变双引号 格式化去掉分号
    Docker Swarm搭建多服务器下Docker集群
    Asp.Net Core中服务的生命周期选项区别和用法
    KnockoutJS-模板绑定
  • 原文地址:https://www.cnblogs.com/7788IT/p/11372842.html
Copyright © 2011-2022 走看看