手动Docker部署saber

Docker 部署 saber

一、环境准备

手动Docker部署saber_第1张图片
Docker 是一个开源的应用容器引擎,它有助于更快地交付应用。Docker 可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker , 可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。你可以将其理解为一个轻量级的虚拟机,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。

1. Docker安装与配置

安装参考官方文档

  • Docker 的官方网址链接:https://www.docker.com
  • Docker 的 GitHub:https://github.com/docker/docker

配置:

  • 进入 Docker settings
  • 修改 Insecure registries10.60.20.70:8010
  • 修改 Registry mirrorshttps://10.60.20.70:8010

手动Docker部署saber_第2张图片


2.编写 saber 项目下的 Dockerfile 和 default.conf

 示例如下:

#Dockerfile
        
FROM nginx
VOLUME ./tmp
ENV LANG en_US.UTF-8 
ADD ./dist/ /usr/share/nginx/html/ 
ADD ./default.conf /etc/nginx/conf.d/default.conf 

# 命令详解:
# ENV:设置环境变量,定义了环境变量,那么在后续的指令中,就可以使用这个环境变量。
# ADD:复制指令,从上下文目录中复制文件或者目录到容器里指定路径。
# VOLUME:定义匿名数据卷。在启动容器时忘记挂载数据卷,会自动挂载到匿名卷。
# FROM:定制的镜像都是基于 FROM 的镜像。
#default.conf

server {
    #项目中定义的端口号
    listen       80;
    server_name  127.0.0.1;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

    location /api {
            proxy_set_header Host $host;

            proxy_set_header  X-Real-IP $remote_addr;
            proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
            proxy_buffering   off;
            rewrite   ^/api/(.*)$   /$1   break;
            proxy_pass http://10.60.20.70:8088; #后端springboot项目地址
            proxy_set_header Host $http_host;
  }
}

3. MobaXterm 的安装与配置

MobaXterm 又名 MobaXVT,是一款增强型远程连接工具,类似xshell。可以轻松地来试用Unix / Linux上的GNUUnix命令。这样一来,我们可以不用安装虚拟机来试用虚拟环境,然后只要通过 MobaXterm 就可以使用大多数的linux命令。

手动Docker部署saber_第3张图片

安装参考官方文档

  • MobaXterm 的官方地址链接:https://mobaxterm.mobatek.net/

安装完毕后界面是这样的


手动Docker部署saber_第4张图片

当然你们刚安装完成是不会有任何session的。下面来创建第一个SSH session。
点击菜单栏[sessions] --> [new session] ,即可弹出 [session setting] 对话框。如下图所示


手动Docker部署saber_第5张图片


二、部署 saber

1.在 saber 项目下打包

我们可以使用 yarn build 或者 npm run build 来对项目进行打包

在这里插入图片描述

当出现如下语句时,便打包成功了,你会得到一个 dist 文件夹,这就是我们将要放到服务器上的发布版本

手动Docker部署saber_第6张图片
手动Docker部署saber_第7张图片


2.接下来分为两种情形

情形一:本地已经安装 Docker


<1>直接在本地将产生的 dist 文件夹打包成镜像

docker build [OPTIONS] PATH | URL | -

实例: docker build -t 10.60.20.70:8010/saber/saber:2.6.0 .

参数说明:

  • -t : 镜像的名字及标签
  • 使用当前目录的 Dockerfile 创建镜像,标签为 10.60.20.70:8010/saber/saber:2.6.0
  • . :指镜像构建时打包上传到Docker引擎中的文件的目录

出现如下图所示即为成功

手动Docker部署saber_第8张图片


<2>将镜像推送到终端

docker push [OPTIONS] NAME[:TAG]

实例: docker push 10.60.20.70:8010/saber/saber:2.6.0

出现如下图所示即为成功

手动Docker部署saber_第9张图片


<3>接下来进入MobaXterm,进入到docker文件目录下

实例: cd /usr/local/docker/

在这里插入图片描述


<4>拉取镜像

实例: docker pull 10.60.20.70:8010/saber/saber:2.6.0

出现如下图所示即为成功

手动Docker部署saber_第10张图片


<5>使用以下命令来查看最新的镜像

 docker images 

在这里插入图片描述


在上图中可以看到我们最新的镜像已经拉取成功


<6>使用 docker-compose down 来停止容器

出现如下图所示即为成功

手动Docker部署saber_第11张图片

<7>使用 docker-compose up -d 来构建,(重新)创建,启动并附加到服务容器

说明:

  • 格式为 docker-compose up [options] [SERVICE...]
  • 该命令可以完成包括构建镜像、(重新)创建服务、启动服务,并关联服务相关容器的一系列操作
  • 如果希望在后台启动并运行所有的容器,使用docker-compose up -d

出现如下图所示即为成功

手动Docker部署saber_第12张图片



情形二:本地没有安装 Docker

<1>将dist文件夹、Dockerfile和default.conf一起复制到终端上

手动Docker部署saber_第13张图片

<2>cd到放置dist文件的目录下

实例:cd /usr/local/ITDOCimage/


<3>在 MobaXterm 将产生的dist文件夹打包成镜像

实例:docker build -t 10.60.20.70:8010/saber/saber:2.6.0 .

出现如下图所示即为成功

手动Docker部署saber_第14张图片


<4>使用 docker-compose down 来关掉容器


<5>使用 docker-compose up -d 来启动镜像



注:定期要清理 Docker 上的镜像

实例: docker rmi imageID

在这里插入图片描述


小袁(2022-02-18)

你可能感兴趣的:(docker)