溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS8上怎么用Docker部署開源項目Tcloud

發(fā)布時間:2022-05-31 14:04:24 來源:億速云 閱讀:227 作者:iii 欄目:大數(shù)據(jù)

這篇“CentOS8上怎么用Docker部署開源項目Tcloud”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“CentOS8上怎么用Docker部署開源項目Tcloud”文章吧。

一、安裝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、如果看到如圖:

CentOS8上怎么用Docker部署開源項目Tcloud

則說明安裝doceker成功

二、接下來安裝doceker-compose

1、運行以下命令下載docker compose的當前穩(wěn)定版本:

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、將可執(zhí)行權限應用于二進制文件:

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

3、注意:如果命令docker-compose在安裝后失敗,請檢查您的路徑。您也可以創(chuàng)建指向/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、執(zhí)行下面的命令,一直回車,直到結束

ssh-keygen -t rsa -c

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、出現(xiàn)這樣一段話,即證明配置成功。

hi roninlee! you've successfully authenticated, but github does not provide shell access.

四、后端部署

1、運行以下命令拉起源碼:

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

2、進入到tcloudserver\deploy目錄下,使用以下命令,拉取所有(等待一會,拉取時間較長)

docker-compose pull

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

# 這里的賬號密碼是在docker-compose.yml中配置的,改成以下

sqlalchemy_database_uri = 'mysql://root:tc123456@mysql:3306/demo?charset=utf8'

4、再初始化kong的數(shù)據(jù)庫(如果報錯,再執(zhí)行一次,成功的話會顯示database is up-to-date)

$ sudo docker-compose up -d kong_database

// 容器啟動以后,數(shù)據(jù)庫會本地掛載到 ./volumes/kong_database 里面

// 但由于權限問題,初始化數(shù)據(jù)庫會失敗,所以要先對該文件賦予權限

$ sudo chmod -r 777 ./volumes/kong_database

$ sudo docker-compose run --rm kong kong migrations bootstrap

5、然后啟動所有項目

$ sudo docker-compose up -d

6、查看啟動狀態(tài)

$ sudo docker-compose ps

7、如果所有狀態(tài)均為up,則運行正常,否則查看日志

sudo docker logs <name>查看日志

8、打開konga(kong的管理頁面,http://localhost:9001),注冊賬號并登錄,再新建連接,地址為http://kong:8001

CentOS8上怎么用Docker部署開源項目Tcloud

9、成功后,進入snapshot頁面,點擊import from file,選擇我們的kong.json文件,并進入details中restore,全選導入,可能會出錯,再執(zhí)行一次即可,此時我們的網(wǎng)關服務已經(jīng)運行完成,地址為http://localhost:9000

ps: 數(shù)據(jù)庫初始化文件是init/init.sql,可以通過sudo docker-compose down -v再刪除volume/mysql掛載目錄之后,sudo docker-compose up -d來重新初始化數(shù)據(jù)庫

五、前端部署

1、安裝node環(huán)境

從centos儲存庫安裝node.js和npm

可以從標準centos存儲庫中安裝node.js和npm。

通過運行以下命令列出提供nodejs軟件包的模塊:

yum module list nodejs

要在centos系統(tǒng)上安裝默認的node.js軟件包,請輸入:

sudo yum module install nodejs

輸入以下命令:

node --version #檢查node 是否安裝成功
npm --version #檢查 npm 是否安裝成功

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

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

3、在前端項目的根目錄下執(zhí)行:npm install 安裝依賴包

4、安裝依賴包如報以下錯:

CentOS8上怎么用Docker部署開源項目Tcloud

解決辦法:

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

CentOS8上怎么用Docker部署開源項目Tcloud

CentOS8上怎么用Docker部署開源項目Tcloud

6、運行前端項目:

npm run dev

7、在非 localhost 域名下登錄不成功,可以打開開發(fā)者工具,查看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 網(wǎng)絡連接超時,這情況涉及到很多因素。

三、解決辦法:

問題:1、2:

vi /etc/resolv.conf 增加一行dns地址:例如:nameserver 114.114.114.114 (此方法服務器重啟之后會失效。參考方法2:vi /etc/sysconfig/network-scripts/ifcfg-ens33打開網(wǎng)卡配置文件,在配置文件中添加:dns1=”8.8.8.8”,dns2=”114.114.114.114”)

保存之后,繼續(xù)執(zhí)行拉取鏡像的命令,即可!

問題: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命令

----------------- docker ps 查看當前正在運行的容器

----------------- docker ps -a 查看所有容器的狀態(tài)

----------------- 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創(chuàng)建一個名為soar/centos:7.1的鏡像

----------------- docker run -d -p 2222:22 --name testsoar/centos:7.1 以鏡像soar/centos:7.1創(chuàng)建名為test的容器,并以后臺模式運行,并做端口映射到宿主機2222端口,p參數(shù)重啟容器宿主機端口會發(fā)生改變

以上就是關于“CentOS8上怎么用Docker部署開源項目Tcloud”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI