CentOS8上用Docker部署开源项目Tcloud的教程

CentOS8上用Docker部署开源项目Tcloud的教程,第1张

CentOS8上用Docker部署开源项目Tcloud的教程

本文主要介绍在CentOS8上用Docker部署开源项目Tcloud。这篇文章很详细,有一定的参考价值。有需要的朋友可以参考一下。

一、安装Docker

1.我在虚拟机上安装了linux3.10内核的Centos7。docker官方说至少要3.8以上,建议3.10以上(ubuntu下linux内核要3.8以上)。

以root帐户登录,并检查内核版本,如下所示

查看内核版本

2.将yum包更新到最新版本

yum更新

(要在此期间选择确认,只需输入Y)

3.安装所需的软件包。yum-util提供yum-config-manager函数,另外两个依赖于devicemapper驱动程序。

yuminstall-yyum-utils设备映射器持久数据lvm2

4.设置yum源

yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)

5.您可以查看所有仓库中的所有docker版本,并选择要安装的特定版本。

yumlistdocker-ce-showduplicates|sort-r

6.安装Docker,命令:yum安装docker-ce-版本号。我选择了docker-ce-18.03.1.ce,如下

yuminstalldocker-ce-18.03.1.ce

(要在此期间选择确认,只需输入Y)

7.启动docker,命令:systemctl启动Docker,然后加入boot启动,如下:

系统启动停靠站#启动停靠站

systemctlenabledocker#设置docker为开机自启[/code][code]sudodockerrun--rmhello-world#启动docker中的hello-word

8.如果你看到如图所示:

那么doceker安装成功。

二、接下来安装doceker-compose

1.运行以下命令下载DockerCompose的当前稳定版本:

sudocurl-L"https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose

2.将可执行权限应用于二进制文件:

sudochmod+x/usr/local/bin/docker-compose

3.注意:如果docker-compose命令在安装后失败,请检查您的路径。您还可以创建指向/usr/bin或路径中任何其他目录的符号链接。

例如:

sudoln-s/usr/local/bin/docker-compose/usr/bin/docker-compose

4.检查docker-compose是否安装成功。

讲师-撰写-版本

三、安装与配置Git

1.有yum在Linux上安装Git,非常简单,只需要一行命令行:

yum-y安装git

输入:

git版本

检查是否安装了Git及其版本号。

2.配置git:

gitconfig--globaluser.name"xxx"gitconfig--globaluser.email"xxxxx@xx.com"gitconfig--globalcore.autocrlffalsegitconfig--globalgui.encodingutf-8

3.执行以下命令并按enter键,直到结束。

ssh-keygen-tRSA-Cxxxxx@xxx.com

4.生成ssh密钥

猫~/。ssh/id_rsa.pub

5.登录GitHub,点击设置>;桑德GPG群岛>新的SSH密钥将生成的密钥复制到密钥中。

6.测试配置是否成功。

宋承宪-git@github.com

7.出现这样一段话,证明配置是成功的。

嗨,罗妮莉!您已经成功认证,但是GitHub不提供shell访问。

四、后端部署

1.运行以下命令来获取源代码:

git克隆https://github.com/bigbaser/TcloudServer.git

2.进入TcloudServer\deploy目录,使用以下命令拉全部(稍等一会儿,拉需要很长时间)

docker-composepull

3.然后修改本地配置文件,

#这里的账号密码是在docker-compose.yml中配置的,改成以下 SQLALCHEMY_DATABASE_URI='mysql://root:tc123456@mysql:3306/demo?charset=utf8'

4.再次初始化kong的数据库(如果报告错误,则再次执行,如果成功,则显示数据库是最新的)

$sudodocker-composeup-dkong_database //容器启动以后,数据库会本地挂载到./volumes/kong_database里面 //但由于权限问题,初始化数据库会失败,所以要先对该文件赋予权限 $sudochmod-R777./volumes/kong_database $sudodocker-composerun--rmkongkongmigrationsbootstrap

5.然后启动所有项目。

$sudodocker-composeup-d

6.检查启动状态。

$sudodocker-composeps

7.如果所有状态都是up,则它正常运行;否则,请检查日志。

sudodockerlogs<name>查看日志

8.打开konga(kong管理页面,http://localhost:9001),注册账号并登录,然后新建一个连接,地址为http://Kongs:8001。

9.成功后,进入快照页面,点击从文件导入,选择我们的kong.json文件,进入详细恢复。全部选择导入,可能会有错误。再执行一次就行了。此时,我们的网关服务已经运行完毕,它的地址是http://localhost:9000。

Ps:数据库初始化文件是init/init.sql你可以通过sudodocker-composedown-v重新初始化数据库然后删除卷/mysql挂载目录,然后sudodocker-composeup-dd。

五、前端部署

1.安装节点环境

从CentOS存储库安装Node.js和npm

您可以从标准CentOS存储库中安装Node.js和npm。

通过运行以下命令列出提供nodejs包的模块:

yummodulelistnodejs

要在CentOS系统上安装默认的Node.js软件包,请输入:

sudoyummoduleinstallnodejs

输入以下命令:

node--version#检查node是否安装成功 npm--version#检查npm是否安装成功

2.使用以下命令提取前端代码:

gitclonehttps://github.com/bigbaser/Tcloud.git

3.在前端项目的根目录下执行:npminstall安装依赖包。

4.如果您在安装依赖包时报告了以下错误:

解决方案:

4.1.输入以下命令:

npminstall-gcnpm--registry=https://registry.npm.taobao.org

4.2.建立软链接:

sudoln-s{此处为你安装npm的路径}.npm-global/bin/cnpm/usr/local/bin/cnpm

4.3.输入:

cnpm--version检查是否安装成功。

5.将config/dev.env.js和index.js文件中的BASE_URL地址修改为http://0.0.0.0

6.运行前端项目:

npm运行开发

7.在非本地主机域名下登录不成功。可以打开开发者工具,检查Application下的Cookies是否有JWT_令牌_TCLOUD_DEV。

如果没有,找到前端项目tcloud/src/store/modules/login.js,修改第57行,放入

domain:process.env.NODE_ENV==='development'?'localhost':COOKIE_DOMAIN 修改为: domain:COOKIE_DOMAIN

然后在config下修改dev.env.js,将COOKIE_DOMAIN改为前端当前访问域名。

六、报错总结:

1.docker拉动镜像时报告错误:

1、

ERROR:Gethttps://registry-1.docker.io/v2/:dialtcp:lookupregistry-1.docker.ioonsuchhost

2、

ERROR:Gethttps://registry-1.docker.io/v2/:dialtcp:lookupregistry-1.docker.ioonxxx.xxx.xxx.xxx:xxxx:lamereferral

3、

Errorresponsefromdaemon:Gethttps://index.docker.io/v1/search?q=sameersbn&n=25:dialtcp:lookupindex.docker.ioon192.168.65.1:53:readudp192.168.65.2:45190->192.168.65.1:53:i/otimeout Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)

二。分析问题:

问题1,2这是因为DNS域名没有解析。

3问题网络连接超时,这涉及到很多因素。

三。解决方案:

问题:1,2:

Vi/etc/resolv.conf添加一行DNS地址:例如:名称服务器114.114.114.114(服务器重启后此方法无效。方法二:VI/etc/sysconfig/network-scripts/ifCFG-ens33打开网卡配置文件,将dns1="8.8.8.8"和dns2="114.114.114.114"添加到配置文件中)。

保存后继续执行命令拉图,就可以了!

问题3:

3.1通过dig@114.114.114.114registry-1.docker.io查找可用IP

3.2尝试修改/etc/hosts,强制将docker.io相关的域名解析到其他可用的IP。

3.3保存并重试:docker搜索sameersbn

附上一些常用的Docker命令。更多详情,请访问:http://www.docker.org.cn/dockerppt/106.html:.

-DockerPS-检查当前运行的容器。

-DockerPS-A查看所有集装箱的状态

-用于启动/停止集装箱的码头启动/停止id/名称

-DockerAttachID进入容器(退出后容器停止运行)

-DockerExec-tiID启动一个伪终端以交互方式进入一个容器(使用exit后容器不会停止运行)

-Docker图像查看本地图像

-用于删除集装箱的码头工人RMid/名称

-dockerRMIid/name删除镜像

-DockerRun-nametest-tiubuntu/bin/bash复制Ubuntu容器并重命名为test并运行,然后以伪终端交互的方式进入容器并运行bash。

-DockerBuild-tsoar/centos:7.1。在当前目录下通过Dockerfile创建一个名为Soar/CentOS:7.1的镜像。

-DockerRun-D-p2222:22-Nametestsoar/centos:7.1通过镜像Soar/CentOS:7.1创建一个名为Test的容器,并在后台模式下运行,将端口映射到主机的222端口。p参数重新启动容器主机。

参考:https://github.com/bigbaser/tcloudserver/blob/master/deploy/docs/docker%e9%83%A8%E7%BD%B2.MD

摘要

以上是边肖介绍的在CentOS8上用Docker部署开源项目Tcloud的教程。希望对你有帮助!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/774656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存