在线考试系统镜像构建、推送、部署

mac2022-06-30  75

前提

本地安装docker、docker-compose

注册阿里云账号

步骤

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

在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 创建命名空间和镜像仓库

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

如:config-service、auth-service、spring-microservice-ui

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

以config-service为例

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

登录阿里云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 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

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

最新回复(0)