您好!欢迎来到源码码网

Linux服务器 CentOS8系统用Docker部署开源项目Tcloud的教程

  • 建站技巧
  • 来源:源码码网
  • 编辑:admin
  • 时间:2020-02-05 22:21
  • 阅读:1261

一、安装Docker

1、我是虚拟机装的Centos7,linux 3.10 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上)

root账户登录,查看内核版本如下

uname -a

2、把yum包更新到最新

yum update

(期间要选择确认,输入 y 即可)

3、安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

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

4、设置yum源

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

5、可以查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

6、安装Docker,命令:yum install docker-ce-版本号,我选的是docker-ce-18.03.1.ce,如下

yum install docker-ce-18.03.1.ce

(期间要选择确认,输入 y 即可)

7、启动Docker,命令:systemctl start docker,然后加入开机启动,如下:

systemctl start docker #启动docker

systemctl enable docker #设置docker为开机自启[/code][code]sudo docker run --rm hello-world #启动docker中的hello-word

8、如果看到如图:

Docker部署开源

则说明安装doceker成功

二、接下来安装doceker-compose

1、运行以下命令下载Docker Compose的当前稳定版本:

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

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

sudo chmod +x /usr/local/bin/docker-compose

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

例如:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

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

doceker-compose --version

三、安装与配置Git

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

yum -y install git

输入:

git --version

查看Git是否安装完成以及查看其版本号

2、配置git:

git config --global user.name "xxx"git config --global user.email "xxxxx@xx.com"git config 
--global core.autocrlf falsegit config --global gui.encoding utf-8

3、执行下面的命令,一直回车,直到结束

ssh-keygen -t rsa -C xxxxx@xxx.com

4、生成ssh key

cat ~/.ssh/id_rsa.pub

5、登陆GitHub,点击setting>SSHand GPG keys>New SSH Key 将生成的密钥复制到Key中即可

6、测试是否配置成功

ssh -T git@github.com

7、出现这样一段话,即证明配置成功。

Hi RoninLee! You've successfully authenticated, but GitHub does not provide shell access.

四、后端部署

、运行以下命令拉起源码:

git clone https://github.com/bigbaser/TcloudServer.git

2、进入到TcloudServerdeploy目录下,使用以下命令,拉取所有(等待一会,拉取时间较长)

docker-compose pull

3、然后修改local_config.py文件,

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

4、再初始化kong的数据库(如果报错,再执行一次,成功的话会显示Database is up-to-date)

$ sudo docker-compose up -d kong_database
// 容器启动以后,数据库会本地挂载到 ./volumes/kong_database 里面
// 但由于权限问题,初始化数据库会失败,所以要先对该文件赋予权限
$ sudo chmod -R 777 ./volumes/kong_database
$ sudo docker-compose run --rm kong kong migrations bootstrap

5、然后启动所有项目

$ sudo docker-compose up -d

6、查看启动状态

$ sudo docker-compose ps

7、如果所有状态均为up,则运行正常,否则查看日志

sudo docker logs <name>查看日志

8、打开konga(kong的管理页面,http://localhost:9001),注册账号并登录,再新建连接,地址为http://kong:8001

Docker部署开源

五、前端部署

1、安装node环境

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

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

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

yum module list nodejs

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

sudo yum module install nodejs

输入以下命令:

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

2、使用以下命令拉取前端代码:

git clone https://github.com/bigbaser/Tcloud.git

3、在前端项目的根目录下执行:npm install 安装依赖包

4、安装依赖包如报以下错:

Docker部署开源

解决办法:

4.1、输入以下命令:

npm install -g cnpm --registry=https://registry.npm.taobao.org

4.2、建立软链接:

sudo ln -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

Docker部署开源

6、运行前端项目:

npm run dev

7、在非 localhost 域名下登录不成功,可以打开开发者工具,查看Application下的Cookies是否有JWT_TOKEN_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 改成前端当前访问域名即可。


六、报错总结:

一、docker pull 镜像时报错:

1、

ERROR: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io 
on such host

2、

ERROR: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io 
on xxx.xxx.xxx.xxx:xxxx: lame referral

3、

Error response from daemon: Get https://index.docker.io/v1/search?q=sameersbn&n=25: 
dial tcp: lookup index.docker.io on 192.168.65.1:53: read udp 
192.168.65.2:45190->192.168.65.1:53: i/o timeout

Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: 
request canceled while waiting for connection 
(Client.Timeout exceeded while awaiting headers)

二、分析问题:

问题1、2这个是因为DNS域名没有解析的原因。

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

三、解决办法:

问题:1、2:

vi /etc/resolv.conf 增加一行DNS地址:例如:nameserver 114.114.114.114 (此方法服务器重启之后会失效。参考方法2:vi /etc/sysconfig/network-scripts/ifcfg-ens33打开网卡配置文件,在配置文件中添加:DNS1=”8.8.8.8”,DNS2=”114.114.114.114”)

保存之后,继续执行拉取镜像的命令,即可!

问题:3:

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

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

3.3保存之后重试即可: docker search sameersbn

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

----------------- docker ps 查看当前正在运行的容器

----------------- docker ps -a 查看所有容器的状态

----------------- docker start/stop id/name 启动/停止某个容器

----------------- docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)

----------------- docker exec -ti id 启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)

----------------- docker images 查看本地镜像

----------------- docker rm id/name 删除某个容器

----------------- docker rmi id/name 删除某个镜像

----------------- docker run --name test -ti ubuntu /bin/bash 复制ubuntu容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash

----------------- docker build -t soar/centos:7.1 . 通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像

----------------- docker run -d -p 2222:22 --name testsoar/centos:7.1 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变


参考地址:https://www.jb51.net/article/179049.htm


特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • 原生小程序和封装的小程序有什么区别
  • 原生小程序和封装的小程序有什么区别
  • 原生小程序和封装的小程序是两种不同的开发模式,主要区别在于开发方式、性能表现、代码维护以及跨平台能力。为了让你更清晰地理解,我们可以把“原生”比作用钢筋水泥直接盖楼,而“封装”则是用预制板或套件来组装楼。以下是详细的对比分析:1.定义与本质原生小程序:定义: 直接使用微信官方提供的开发工具、语法和API进行开发。语言: 使用微信自己定义的一套技术栈(WXML(微信标记语言)做结构、WXSS(微信样式表)做样式、JS
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-03-06 11:54
  • 阅读:177
  • 深度解读:一颗“感知”气息的MEMS传感器,如何定义雾化设备的交互未来?
  • 深度解读:一颗“感知”气息的MEMS传感器,如何定义雾化设备的交互未来?
  • 消费电子与物联网设备智能化普及,人与机器之间的交互方式早已不再局限于按键的“咔哒”声。从智能手机的触控滑动,到智能音箱的语音唤醒,交互正朝着更自然、更无感的方向演进。而在电子雾化设备(如雾化器、电子烟)这一细分领域,一种看似微小却至关重要的交互变革正在发生:如何精准、可靠地识别用户的“吸气”动作?答案,藏在了一颗不足3毫米见方的微型芯片里——MEMS气流压力开关传感器。我们不谈晦涩的术语,而是以一颗具体的产品——MS2202AA-M05
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-03-06 11:41
  • 阅读:32
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • FytSoaCms一款基于NetCore2.2/3.1(RazorPage)功能强大的Cms建站系统,支持前后端分离。简介:模块化:全新的架构和模块化的开发机制,便于灵活扩展和二次开发。模型/栏目/分类信息体系:通过栏目和模型绑定,以及不同的模型类型,不同栏目可以实现差异化的功能,轻松实现诸如资讯、下载、讨论和图片等功能。通过分类信息和栏目绑定,可以自动建立索引表,轻松实现复杂的信息检索。FytSoa是一套基于NetCore+SqlS
  • 开发工具
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 22:21
  • 阅读:275
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • SmartWx微信公众号管理系统是一个完整的微信公众号web操作版,直接编译即可运行。让用户不再用关心微信的底层接口,直接使用页面进行操作,简单方便。包括服务器绑定、文本管理、图文管理、菜单管理、粉丝管理、群发消息等。技术框架开发语言:JAVA数据库:MYSQLJAVA开发框架:SpringMVC+Spring+Mybatis缓存框架:j2cache前端开发框架:Layui+JQuery+html前台模板引擎:art-templat
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 21:53
  • 阅读:271
  • 前后端分离的Java快速开发平台renren-security可免费商用
  • 前后端分离的Java快速开发平台renren-security可免费商用
  • renren-security是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付【接私活利器】采用SpringBoot3.x、Shiro、MyBatis-Plus、Vue3、TypeScript、ElementPlus、VueRouter、Pinia、Axios、Vite框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。提供了代码生成器,只
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-23 13:03
  • 阅读:173
联系客服
源码代售 源码咨询 技术开发 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部