云发布的Docker部署文档

云发布的Docker部署文档

1、服务器安装 Docker

我在华为云服务器上选择的系统是 CentOS 7,因此使用 yum 安装Docker ,并拉取OpenJDK的镜像。使用的是root账户。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum makecache fast
sudo yum -y install docker-ce

sudo service docker start

docker pull openjdk:8

2、修改后端微服务的配置

2.1 修改 MySQL 的配置

原配置:

url: jdbc:mysql://localhost:3306/tp_music?serverTimezone=Asia/Shanghai&useSSL=false

修改后的配置:

url: jdbc:mysql://mysql/tp_music?serverTimezone=Asia/Shanghai&useSSL=false

其中,tp_music是自己要使用的数据库名。

2.2 修改 Redis 的配置

原配置:

redis :
	host: localhost
	port: 6379

修改后的配置:

redis:
	host: redis

2.3 修改 Nacos 的配置

原配置:

cloud:
    nacos:
      server-addr: localhost:8848

修改后的配置:

cloud:
    nacos:
      server-addr: nacos:8848

3、生成微服务镜像

将三个后端微服务、一个Gateway网关服务与它们对应的 Dockerfile 文件分别放在一起,使用WinSCP文件上传工具上传到服务器后,在服务器上使用 Docker 镜像构建命令构建镜像。

关于Dockerfile文件的具体写法,可以去看 虚拟机下Ubuntu系统的Docker部署 的第三节对应部分

接着分别进入四个文件夹中使用对应的命令构建镜像。注意,这里的文件夹地址是文件上传到服务器的具体地址,例如我这里是 ~/Music

cd ~/Music/User
docker build -t user .

cd ~/Music/Manage
docker build -t manage .

cd ~/Music/Apply
docker build -t apply .

cd ~/Music/Gateway
docker build -t gateway .

4、拉取远程镜像

去 DockerHub 拉取 MySQL、Redis、Nacos 和 Nginx 的镜像。

docker pull mysql:5.7
docker pull redis
docker pull nacos/nacos-server:v2.1.2-slim
docker pull nginx

5、生成前端镜像

5.1 准备文件

将 nginx 配置文件,前端打包的网页文件和 Dockerfile 放在一起,并上传到服务器上。同样地,上传的地址自己要记住。

5.2 构建前端镜像

在服务器上使用 Docker 镜像构建命令构建前端镜像。

docker build -t vue .
docker build -t vue2 .

6、基于镜像生成并运行容器

6.1 MySQL

Mysql容器生成之后,不要忘了还需要进行sql数据的导入

docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

6.2 Redis

docker run -d -p 6379:6379 --name redis redis

6.3 Nacos

docker run -d -p 8848:8848 --name nacos -e PREFER_HOST_MODE=hostname -e MODE=standalone nacos/nacos-server:v2.1.2-slim

6.4 三个后端微服务和网关服务

docker run -d -p 8881:8881 --name user --link mysql --link redis --link nacos user
docker run -d -p 8882:8882 --name manage --link mysql --link redis --link nacos manage
docker run -d -p 8883:8883 --name apply --link mysql --link redis --link nacos apply
docker run -d -p 8888:8888 --name gateway --link redis --link nacos --link user --link manage --link apply gateway

6.5 前端服务

docker run -d -p 80:80 --name vue vue
docker run -d -p 81:81 --name vue2 vue2

7、最终镜像和容器情况展示

7.1 镜像展示

docker images

1

其中 openjdk、mysql、redis、nacos/nacos-server、nginx、vue、vue2、user、manage、apply 和 gateway 为本项目的所有镜像。

7.2 容器展示

docker ps

2

图中所示九个容器即为本项目的所有容器。

8、安全组设置

我们需要去华为云服务器管理控制台设置安全组,将需要开放的端口打开,需要开放8848、3306、6379、8888、8881、8882、8883和80、81端口。
3

9、访问本系统

打开浏览器,输入 http://ip 即可访问本系统,其中ip为华为云服务器的公网ip地址。

10、附录

我们在 docker 中启动容器,肯定需要停止容器,附录简单介绍下 docker 容器的一些操作。

1、查看容器

该命令可以查看各个容器的名字,状态等信息。

# 查看正在运行镜像,不包括未运行镜像
docker ps
# 查看所有运行镜像,包括未运行镜像
docker ps -a

2、启动容器

启动容器有 run 和 start 两种,run是通过镜像生成容器并启动,start仅启动已经生成的容器。

  • -d 是设置容器以守护形式在后台运行,并且容器所运行的程序不能结束
  • -p 是设置端口,8881即为该容器的映射端口
  • –name是为容器指定一个名字
docker run -d -p 8881:8881 --name user
# user是容器名
docerk start user

3、停止容器

# user是容器名
docker stop user

4、强制结束容器

如果stop命令无法将容器停止运行,可以使用 kill 命令杀掉容器。

# user是容器名
docker kill user

5、删除容器

注意,正常删除容器前请一定要记得先使用stop命令使其停止运行。 加了 -f 是强制删除。

# user是容器名
docker rm user
docker rm -f user

删除镜像与删除容器类似,把镜像下的容器全部停止运行后可以直接使用 rmi 删除镜像,如果还有容器在运行,则要加 -f 强制删除镜像。

# apply是镜像名
docker rmi apply
docker rmi -f apply

6、批量操作

# start启动所有容器
docker start $(docker ps -a -q)
 
# stop停止所有容器
docker stop $(docker ps -a -q)
 
# remove删除所有容器
docker rm $(docker ps -a -q) 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
前言: 这是本人开发的个人知识管理软件,特别适合需要阅读大量pdf\word\mht\txt等格式文献的科研人员,有效提高个人知识管理能力,减轻记忆压力。因为这几年来都没有时间开发和维护,所以现在开源,希望有人能发扬光大。由于时间关系,没有很好整理文档,而且不是最新版,需要的请联系。本人曾参与Sourceforge的latex2rtf项目,在知识管理方面具有独创见解,希望大家能共同探讨,促进我国科研人员的个人知识管理水平。 本软件综合了Tag2Find、Leapfrog Tag等Tag管理软件的优点,同时克服了这类软件速度奇慢的缺点,具有Everything一样的即时搜索性能。所以叫Tagging-Taggie。 大致工作流程: ------------------------------------------------------------ 1. 启动Tagging软件,此时后台会运行一些针对常用阅读软件开发的AutoHotkey脚本(可以自定义); 2. 在你熟悉的阅读软件中(例如Acrobat Adobe、Pdf Xchange Viewer, Office Word等里面)按下快捷键 Ctrl+`,将弹出一个迷你窗口(叫Taggie),可以输入各类标签(也可以从常用词中选择,如文章类型,重要性),同时显示以前的关键词,所有标签和当前页码等信息会自动保存到数据库中。 如果按下快捷键 Alt+`,则不弹出任何窗口,但是数据库中将记录此文件的标题,当前选中的文字前20个字等信息,这样方便地保存了您的访问记录,而且不受软件的限制。 3. 打开Tagging主界面(类似Everything),可以一边打字输入一边获得检索结果,同时有最近浏览记录、访问最多记录、最常用Tag等信息。 注:上述快捷键可以自定义,例如设置为F1是最轻松的。 背景知识: ----------------------------------------------------------- 一般来说,我们阅读科技文献时,希望随时快速记下带有自己思维方式的Tag,比如这篇文章是欧洲某国的,这一页很重要,这篇文章很重要,这篇文章是90年代的,这篇文章是某公司或某大学的,这是会议文章/期刊文章/技术报告/国际标准等等。但是如果采用重命名文件的方法(适用于Tag较短的情况),就会疲于应付。 如果你是研究生或者科研工作者,那么自然需要阅读大量的文献,采用其它知识管理软件都需要大量的鼠标和键盘动作,同样会疲于应付。 换句话说,采用文件夹管理只是实现了文件的树状分类,但是一篇文献在每个人脑海里面还有特殊的标签,只有采用标签和树状分类才能保证我们的每一篇文献都能快速找到。 采用本软件,你就可以从各种蛛丝马迹中找到你曾经阅读过的文献。 工作机理 ------------------------------------------------------- 1. Taggie会自动获得当前文件的特定属性,例如文件创建日期、pdf的页数、已有关键词等,并根据这些信息为该文件创建一个UUID.lnk,如果开启了Distributed Link Tracking Client服务,在本地计算机你可以随意重命名或者移动该文件,以后用Tagging搜索Tag时都可以找到该文件。 2. 当前版本用到的数据库其实就是类似csv或者xls的文本文件,你也可以通过OneNote接口把数据保存到One文件里面去,这样可以在OneNote里面补充注释,管理起来更加富有层次。 细节和讨论: ---------------------------------------------------------- 1. 多个标签数据库的同步和合并; 可以为不同电脑指定一个特定的数据库名字,在Tagging里面可以勾选要搜索的数据库,一般不用考虑数据同步。但是最好能随时把个人的数据库上传到快盘之类的地方,或者用Groove同步,实现团队成员的知识管理。 2. 采用Symbolic link的方式与采用快捷方式的对比。 还没有测试。 3. 。。。。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值