Django :全栈WEB框架
Flask:轻量级WEB框架
FastAPI:异步WEB框架

dockerfile环境部署流程

(1)开发编写完代码进行自测;
(2)编写Dockerfile来构建镜像;
(3)执行编写的Dockerfile的文件;
(4)执行Dockerfile文件成功后,也就是构建镜像成功;
(5)使用docker images,就可以查看到构建成功的镜像信息;
(6)把镜像导出,发送给测试同学;
(7)测试再导入,使用docker run来运行这个镜像,运行成功后,环境部署OK;
(8)开始测试验证。

2、演示开发行为

1、首先需要安装Maven并且配置环境变量

docker部署 skywalking Docker部署环境_docker


2、查看maven是否配置成功

docker部署 skywalking Docker部署环境_docker_02


3、Maven指令

(1)mvn clean 清空命令,现象就是target的文件夹就会消失;

docker部署 skywalking Docker部署环境_docker判断题_03


(2)mvn package 把服务(应用程序)打包成jar文件,现象就是在项目的目录下出现了target的文件夹,打包成功的jar实际就是在target的文件夹里面。

docker部署 skywalking Docker部署环境_Dockerfile_04

一、Python环境部署

本案例主要使⽤Python语⾔,使⽤的WEB框架是Flask,然后来实现⼀个⽹站的部署过程,也就是说写好程序代后,开发dockerfile的代码,执⾏以及⽣成镜像,其他⼈基于该镜像使用docker run就可以在电脑跑起来对应的应⽤程序。

把app.py文件和Dockerfile文件放在同一目录下,并且py文件名必须是app.py(因为这个文件名在Dockerfile文件中已经写死了,并且每当.py文件变化一次 就要重新构建一次镜像)

docker部署 skywalking Docker部署环境_jar_05

Dockerfile文件

Dockerfile文件中是一些操作docker的指令

docker部署 skywalking Docker部署环境_jar_06

构建镜像

进入dockerfile目录下构建镜像(-t 后面是跟起的镜像名字,名字必须是小写)

docker build -t login .

docker部署 skywalking Docker部署环境_Dockerfile_07

运行容器:

构建成功后运行容器

docker部署 skywalking Docker部署环境_Dockerfile_08


验证容器(是否部署成功):

docker部署 skywalking Docker部署环境_jar_09

每次代码更改后都要重新部署环境

1、写完代码后,开始编写Dockerfile文件,构建,运行,环境部署OK
2、发现问题后,开发修改问题,修改问题言外之意等于就是更新了代码又得构建镜像

发布镜像

首先需要在先在https://hub.docker.com/地址注册⼀个账户,如果想把⾃⼰的镜像发布到dockerhub的地址,那么镜像的名称必须是username/imageName。如果不这样处理的话,进⾏push的时候,就会提示没有权限的操作,这点需要特别的注意。下⾯详细的演示发布镜像的过程,特别注意,邮箱必须要进⾏确认和验证。

docker部署 skywalking Docker部署环境_docker_10


docker部署 skywalking Docker部署环境_Dockerfile_11


步骤总结如下:

  1. 登录到dockerhub
  2. 查看已打包的镜像⽂件
  3. 修改镜像⽂件为符合push的名称(username/imageName)
  4. 发布镜像到dockerhub

部署Java

java技术栈的微服务开发框架

SpringBoot/SpringCloud /SpringCloudalibaba

部署springBoot

目录:(如果开发的java代码及目录如下图所示,我们通过ssh服务,进入到这个目录,执行mvn package 将java代码打包成jar包,打包成功后会生成target包,下面会有我们要的jar包,我们这时进入target目录, 执行java -jar app-0.0.1-SNAPSHOT.jar 这时环境就部署成功了)

docker部署 skywalking Docker部署环境_jar_12


mvn package  把java的代码打包成.jar(会在当前目录下 生成target 下有jar包)

docker部署 skywalking Docker部署环境_docker_13

直接部署

1、mvn clean package -Dmaven.test.skip=true docker:build

docker部署 skywalking Docker部署环境_docker_14


2、运行容器并访问

docker部署 skywalking Docker部署环境_docker判断题_15

普通部署:

1、首先使用mvn package 把开发给的服务(应用程序)打包成jar文件

docker部署 skywalking Docker部署环境_docker_16


2、修改Dockerfile文件

FROM java:8
MAINTAINER 刘娜
VOLUME /tmp
RUN mkdir /app
COPY DBPlus-0.0.1-SNAPSHOT.jar /app/app.jar
WORKDIR /app
EXPOSE 8080
CMD  ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"]

3、搭建环境

使用docker build -t apps .

docker部署 skywalking Docker部署环境_jar_17


4、搭建完成之后,运行「docker run --rm -p8081:8081 app:0.0.1-SNAPSHOT即可

docker部署 skywalking Docker部署环境_Dockerfile_18


5、运行网址:「http://localhost:8081/index」

docker部署 skywalking Docker部署环境_Dockerfile_19