手动Docker部署saber
Docker 部署 saber
一、环境准备
Docker
是一个开源的应用容器引擎,它有助于更快地交付应用。Docker
可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker
, 可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。你可以将其理解为一个轻量级的虚拟机,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。
1. Docker安装与配置
安装参考官方文档
Docker
的官方网址链接:https://www.docker.comDocker
的 GitHub:https://github.com/docker/docker
配置:
- 进入
Docker settings
- 修改
Insecure registries
为10.60.20.70:8010
- 修改
Registry mirrors
为https://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相关推荐
- 通过 Docker 部署 Redis 6.x 集群
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:超级小豆丁 http: ...
- centos 上传jar 命令_centos上快速将一个jar使用docker部署启动
通常的jar应用,直接部署在服务器上,使用服务器资源直接部署,一个jar,一个启动脚本,就可以了. 最近想到一个场景,让docker时间和宿主机的时间不一样,进行不同应用部署的隔离.整理一下docke ...
- Docker(四):使用Docker部署tomcat、mysql、nginx静态服务器
使用Dokcer可以很好的对镜像进行管理,创建和使用容器.这篇博客将简单介绍一下如何使用Docker来安装Tomcat.Mysql和Nginx文件服务器.相关阅读: Docker(一):Docker的 ...
- docker部署django项目、mysql主从搭建、django实现读写分离
目录 docker部署django项目 1.1 基于python基础镜像 将本地django项目打包并发到远程服务器上 将服务器上的.zip django项目解压 部署的具体流程 1.2 基于dock ...
- 从零实操基于WSL2 Docker部署Asp.Net Core项目
前言 平日在公司里都是基于阿里Teambition中的飞流进行Docker部署Api项目或服务,已经习惯了那一套成熟的操作流程,开发和部署确实快捷方便,但是还没在自己的电脑上进行操作过,特别是Wind ...
- docker安装jenkins并用docker部署net
1. 部署jenkins 1.1 创建jenkins的工作目录 //创建工作目录 mkdir /var/jenkins_home //赋予权限 chown -R 1000 /var/jenkins_h ...
- docker 打包mysql_基于docker部署mysql的数据持久化问题
本人最近在使用docker部署mysql时,在持久化mysql数据时遇到了一个有趣的问题,将排查过程及思考记录在这里,以备后查. 先简单描述下我遇到的问题:在mysql容器中创建了两个数据库,然后使用 ...
- 使用docker部署vue_如何使用Vue,Docker和Azure进行持续交付
使用docker部署vue A few weeks ago at ng-conf, I announced the launch of vscodecandothat.com - a project ...
- [转]Docker部署Django由浅入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis
在上篇教程中,我们手动构建了两个容器,一个容器放Django + Uwsgi,另一个容器放Nginx,成功部署了一个简单的Django项目.然而在实际的生产环境中,我们往往需要定义数量庞大的 dock ...
最新文章
- C++ 从双重检查锁定问题 到 内存屏障的一些思考
- libsvm 64 系统下编译问题
- 【Qt】Qt窗口程序
- 优化器是怎么得到执行计划的?
- c#精彩编程200例百度云_邂逅百度云智学院:福州理工学院AIOT实训营火热开营!...
- apolloxlua include关键字
- 荣耀Magic4核心配置曝光:最强驯龙高手 性能远超iPhone 13 Pro
- 代理设置(wget/yum)
- Linux安装gcc编译环境出错
- VARCHART XGantt甘特图具有更多功能的HTML5 / Gantt图表的可视计划小部件
- 巧妙帮你保存个人隐私 WinRAR加密全攻略
- java生成二维码并导出成Excel
- 信道估计matlab代码
- Python面向对象练习-乌龟吃鱼
- 互联网人吐槽互撕系列漫画 要来啦~
- 大众点评全球吃货地图 五一海外游神器
- 宝塔面板搭建方维直播图文教程
- 游戏编程之六 游戏编程的特点
- 每日10行代码34:wordcloud生成词云时过滤掉某些词
- wan端口未连接怎么弄_路由器WAN口未连接解决方法,WAN口未连接怎么办
热门文章
- 2021届通信工程专业保研经历分享+个人经验总结
- Python随堂检测2
- 灵遁者诗歌集《很白很白的云》序言内容
- textarea内部换行实现
- stc c语言编程,谁有STC 的 EEPROM C程序
- 01组团队项目-Alpha冲刺-1/6(wxy)
- 比尔盖茨夫妇现身贫民窟
- SurfacePro4_BMR_115_11.347.0.zip百度网盘下载连接
- 如何用python爬取e-hentai的图片
- onu光功率多少是正常_ONU的接收光功率、发送光功率分别是多少?