Docker 部署 saber

一、环境准备


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

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

 示例如下:

#DockerfileFROM 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.confserver {#项目中定义的端口号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命令。

安装参考官方文档

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

安装完毕后界面是这样的

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

二、部署 saber

1.在 saber 项目下打包

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

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


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引擎中的文件的目录

出现如下图所示即为成功

<2>将镜像推送到终端

docker push [OPTIONS] NAME[:TAG]

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

出现如下图所示即为成功

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

实例: cd /usr/local/docker/

<4>拉取镜像

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

出现如下图所示即为成功

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

 docker images

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

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

出现如下图所示即为成功

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

说明:

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

出现如下图所示即为成功


情形二:本地没有安装 Docker

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

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

实例:cd /usr/local/ITDOCimage/

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

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

出现如下图所示即为成功

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

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


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

实例: docker rmi imageID


小袁(2022-02-18)

手动Docker部署saber相关推荐

  1. 通过 Docker 部署 Redis 6.x 集群

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:超级小豆丁 http: ...

  2. centos 上传jar 命令_centos上快速将一个jar使用docker部署启动

    通常的jar应用,直接部署在服务器上,使用服务器资源直接部署,一个jar,一个启动脚本,就可以了. 最近想到一个场景,让docker时间和宿主机的时间不一样,进行不同应用部署的隔离.整理一下docke ...

  3. Docker(四):使用Docker部署tomcat、mysql、nginx静态服务器

    使用Dokcer可以很好的对镜像进行管理,创建和使用容器.这篇博客将简单介绍一下如何使用Docker来安装Tomcat.Mysql和Nginx文件服务器.相关阅读: Docker(一):Docker的 ...

  4. docker部署django项目、mysql主从搭建、django实现读写分离

    目录 docker部署django项目 1.1 基于python基础镜像 将本地django项目打包并发到远程服务器上 将服务器上的.zip django项目解压 部署的具体流程 1.2 基于dock ...

  5. 从零实操基于WSL2 Docker部署Asp.Net Core项目

    前言 平日在公司里都是基于阿里Teambition中的飞流进行Docker部署Api项目或服务,已经习惯了那一套成熟的操作流程,开发和部署确实快捷方便,但是还没在自己的电脑上进行操作过,特别是Wind ...

  6. docker安装jenkins并用docker部署net

    1. 部署jenkins 1.1 创建jenkins的工作目录 //创建工作目录 mkdir /var/jenkins_home //赋予权限 chown -R 1000 /var/jenkins_h ...

  7. docker 打包mysql_基于docker部署mysql的数据持久化问题

    本人最近在使用docker部署mysql时,在持久化mysql数据时遇到了一个有趣的问题,将排查过程及思考记录在这里,以备后查. 先简单描述下我遇到的问题:在mysql容器中创建了两个数据库,然后使用 ...

  8. 使用docker部署vue_如何使用Vue,Docker和Azure进行持续交付

    使用docker部署vue A few weeks ago at ng-conf, I announced the launch of vscodecandothat.com - a project ...

  9. [转]Docker部署Django由浅入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis

    在上篇教程中,我们手动构建了两个容器,一个容器放Django + Uwsgi,另一个容器放Nginx,成功部署了一个简单的Django项目.然而在实际的生产环境中,我们往往需要定义数量庞大的 dock ...

最新文章

  1. C++ 从双重检查锁定问题 到 内存屏障的一些思考
  2. libsvm 64 系统下编译问题
  3. 【Qt】Qt窗口程序
  4. 优化器是怎么得到执行计划的?
  5. c#精彩编程200例百度云_邂逅百度云智学院:福州理工学院AIOT实训营火热开营!...
  6. apolloxlua include关键字
  7. 荣耀Magic4核心配置曝光:最强驯龙高手 性能远超iPhone 13 Pro
  8. 代理设置(wget/yum)
  9. Linux安装gcc编译环境出错
  10. VARCHART XGantt甘特图具有更多功能的HTML5 / Gantt图表的可视计划小部件
  11. 巧妙帮你保存个人隐私 WinRAR加密全攻略
  12. java生成二维码并导出成Excel
  13. 信道估计matlab代码
  14. Python面向对象练习-乌龟吃鱼
  15. 互联网人吐槽互撕系列漫画 要来啦~
  16. 大众点评全球吃货地图 五一海外游神器
  17. 宝塔面板搭建方维直播图文教程
  18. 游戏编程之六 游戏编程的特点
  19. 每日10行代码34:wordcloud生成词云时过滤掉某些词
  20. wan端口未连接怎么弄_路由器WAN口未连接解决方法,WAN口未连接怎么办

热门文章

  1. 2021届通信工程专业保研经历分享+个人经验总结
  2. Python随堂检测2
  3. 灵遁者诗歌集《很白很白的云》序言内容
  4. textarea内部换行实现
  5. stc c语言编程,谁有STC 的 EEPROM C程序
  6. 01组团队项目-Alpha冲刺-1/6(wxy)
  7. 比尔盖茨夫妇现身贫民窟
  8. SurfacePro4_BMR_115_11.347.0.zip百度网盘下载连接
  9. 如何用python爬取e-hentai的图片
  10. onu光功率多少是正常_ONU的接收光功率、发送光功率分别是多少?