网站开发 盈利,采购网站模板,pr效果做的好的网站有哪些,苏州网站建设模版1.工作流
开发应用编写Dockerfile构建Docker镜像运行Docker容器测试应用发布镜像到Hub迭代更新镜像
2.开发应用
首先你需要创建一个应用#xff0c;这个应用可以是后端应用或者前端应用#xff0c;任何语言都可以。 比如#xff1a;我使用IDEA 创建一个Java后端应用… 1.工作流
开发应用编写Dockerfile构建Docker镜像运行Docker容器测试应用发布镜像到Hub迭代更新镜像
2.开发应用
首先你需要创建一个应用这个应用可以是后端应用或者前端应用任何语言都可以。 比如我使用IDEA 创建一个Java后端应用基于Maven构建工程结构如下 3.编写Dockerfile
基于自己的工程来编写Dockerfile, 比如我的是工程是基于JDK11的Java应用并且应用打包为Jar包我编写了一个两阶段的Dockerfile第一个阶段为mvn构建第二个阶段基于maven的jar包打包为docker镜像Dockerfile文件内容如下
# maven打包时基础镜像为maven
FROM maven:3.6-jdk-11 as build
# 工作目录容器运行时默认在/app目录下
WORKDIR /app
# 将maven构建拷贝
COPY . .
# 执行mvn打包
RUN mvn clean package# 基础镜像运行时
FROM openjdk:11
# 设置时区为东八区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo Asia/Shanghai /etc/timezone# 设置工作目录
WORKDIR /app# 从build阶段拷贝jar包
COPY --frombuild /app/target/sales-product.jar /app/sales-product.jar# 设置容器启动时的命令
CMD java -jar -Xms128M -Xmx256M /app/sales-product.jarCOPY
4.构建Docker镜像
我们需要将Dockerfile定义的步骤进行docker构建打包为docker镜像打包镜像时我们需要使用Docker CLI或者一个构建工具Docker Compose或者CI/CD系统来基于Dockerfile构建Docker镜像。
打包出来的Docker镜像包括了应用代码运行时环境和任何依赖的库或者模块。Docker构建命令如下(以Docker CLI为例)
docker build . -t sales-order:latest
# or
docker build . -t sales-order
# or
docker build . -t saels-order:v1.0.0
COPY
5.运行Docker容器
一旦你的Docker镜像打包完成那么就可以基于这个Docker镜像创建并运行Docker容器。 Docker容器是Docker镜像的实例关系就像是程序和进程一样Docker镜像是一个静态的程序当基于这个镜像运行时就称为容器。 你可以将容器运行到不同的环境中比如开发环境测试环境和生产环境这些环境都可以使用同一个镜像。 运行容器有多种方式Docker CLI, docker-compose, docker-swarm, K8s或者其他Docker容器编排平台。我们这里以Docker CLI和Docker-Compose为例来演示如何启动容器: Docker CLI方式
docker container run -d -p 8080:8080 sales-order
COPY
Docker-Compose方式(需要安装Docker-compose)
version: 3.7
services:sales-product:container_name: sales-productrestart: alwaysimage: sales-product:latestports:- 60004:60004volumes:- /etc/localtime:/etc/localtime:ro- /etc/timezone:/etc/timezone:rologging:driver: json-fileoptions:max-size: 512mextra_hosts: - sales-order:192.168.1.83environment:- SPRING_PROFILES_ACTIVEdevcommand: [java,-jar,-Xms256M,-Xmx256M,sales-product.jar]
COPY
6.测试应用
一般Docker容器成功启动后我们就可以开始测试我们的应用了
7.发布镜像到Hub
Docker镜像一般需要发布到一个Registry以达到镜像共享的目的这些Registry像Docker Hub或者私有Registry。一般开源或开放的项目会选择将镜像发布到Docker Hub或者将自己的Registry部分开放以共享镜像而私有业务镜像通常只发布到私有Registry。将镜像推送到Registry我们通常使用Docker CLI或者其他客户端工具进行推送我们以Docker CLI为例
docker push sales-order:latestdocker push your_private_registry_domain/sales-order:latest
COPY
迭代更新镜像
在该应用软件生命周期结束前我们一般都会一直维护应用不断发布新版本应用同时我们的镜像也在不断地根据应用版本的更新而更新这样就很方面的帮助你解决新版本应用发布的问题。