关注小程序 找一找教程网-随时随地学编程

Docker容器

Linux部署之Docker方式部署项目


Linux部署之Docker方式部署项目


1. 使用Docker对前端vue项目进行部署

1.1 环境准备

服务器或者虚拟机上先安装好Nginx和相关配置

  1. docker pull nginx 拉去最新版本的nginx
  2. 运行nginx, docker run --name=mynginx -d -p 8080:80 nginx
  3. 然后在服务器安全组或者是防火墙里面开发80端口,在浏览器上输入ip:8080,如果出现这个画面标识nginx 安装成功

1.2 Vue项目准备

  1. 打包vue项目通过指定 npm run build打包项目生成dist文件夹
  2. 在项目的根目录创建文件Dockerfile没有文件后缀,文件配置内容如下
#  设置基础镜像,这里使用的是最新版的nginx  步骤1 已经安装了最新的版本
FROOM nginx
#  定义作者名称 
MAINTAINER xiongchao
# 将dist文件夹复制到 /usr/share/nginx/html/  这个目录下面 
COPY dist/   /usr/share/nginx/html/ 

复制代码
  1. 上传文件,在服务器上指定的位置创建文件夹(方便自己部署),并将dist文件夹和Dockerfile文件上传值改目录
  2. 构建镜像 docker build -t myvueproject .
  3. 通过docker images的方式即可查看 ,改镜像是否构建成功
  4. 启动镜像 docker run --name=dockervue -d -p 8001:8080 myvueproject
  5. 通过ip:8001的方式进行访问,即可看到项目部署成功

2. 使用Dockerfilespringboot应用构建docker镜像

2.1 Docker常用的指令说明

ADD

用于复制文件

ADD <src> <dest>
# 实例 将当前目录下的test.jar 复制到docker 容器/目录下面  
ADD test.jar /test.jar
复制代码
ENTRYPOINT

指定docker启动的命令

ENTRYPOINT ["executable", "param","param1"]
#示例
ENTRYPOINT ["java","-jar","/test.jar"]
复制代码
ENV

用于设置环境变量 ,格式如下

ENV <key> <value> 
# 示例 
ENV MYSQL_ROOT_PASSWORD root
复制代码
EXPOSE

声明暴露的端口

EXPOSE <port> <port2>
#示例  
EXPOSE 8080
复制代码
FROM

指定所需依赖的基础镜像

FROM <image>:<tag>
# 示例 
FROM java:8
复制代码
MAINTAINER

指定维护者的名字

MAINTAINER <name>
#示例 
MAINTAINER xiongc

复制代码
RUN

在容器构建过程中执行的命令, 比如安装其他相关依赖或者是环境所需

RUN <command>
# 示例 
RUN bash -c 'touch /test.jar'
复制代码

2.2 详细配置文件和说明

FROM java:8
ADD test.jar /test.jar
RUN bash -c 'touch /test.jar'
EXPOSE 8080
ENTRYPOINT ['java','-jar','/test.jar']
MAINTAINER xiongchao

复制代码

2.3 开始构建

  1. 将打包的jardockerfile上传至服务器的指定路径
  2. 构建镜像
# 指定仓库名称/镜像标签  .  标识使用当前目录下的dockerfile文件
docker build -t  javaproject/javaproject .
复制代码
  1. 启动项目
docker run --name=tomcatA01 -d -p 8002:8080 javaproject 
复制代码