您好,登錄后才能下訂單哦!
小編給大家分享一下CentOS8中如何使用Docker部署開(kāi)源項(xiàng)目,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1、我是虛擬機(jī)裝的Centos7,linux 3.10 內(nèi)核,docker官方說(shuō)至少3.8以上,建議3.10以上(ubuntu下要linux內(nèi)核3.8以上)
root賬戶登錄,查看內(nèi)核版本如下
uname -a
2、把yum包更新到最新
yum update
(期間要選擇確認(rèn),輸入 y 即可)
3、安裝需要的軟件包,yum-util 提供yum-config-manager功能,另外兩個(gè)是devicemapper驅(qū)動(dòng)依賴的
yum install -y yum-utils device-mapper-persistent-data lvm2
4、設(shè)置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里倉(cāng)庫(kù))
5、可以查看所有倉(cāng)庫(kù)中所有docker版本,并選擇特定版本安裝
yum list docker-ce --showduplicates | sort -r
6、安裝Docker,命令:yum install docker-ce-版本號(hào),我選的是docker-ce-18.03.1.ce,如下
yum install docker-ce-18.03.1.ce
(期間要選擇確認(rèn),輸入 y 即可)
7、啟動(dòng)Docker,命令:systemctl start docker,然后加入開(kāi)機(jī)啟動(dòng),如下:
systemctl start docker #啟動(dòng)docker
systemctl enable docker #設(shè)置docker為開(kāi)機(jī)自啟[/code][code]sudo docker run --rm hello-world #啟動(dòng)docker中的hello-word
8、如果看到如圖:
則說(shuō)明安裝doceker成功
1、運(yùn)行以下命令下載Docker Compose的當(dāng)前穩(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í)行權(quán)限應(yīng)用于二進(jìn)制文件:
sudo chmod +x /usr/local/bin/docker-compose
3、注意:如果命令docker-compose在安裝后失敗,請(qǐng)檢查您的路徑。您也可以創(chuàng)建指向/usr/bin或路徑中任何其他目錄的符號(hào)鏈接。
例如:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4、檢查docker-compose 是否安裝成功
doceker-compose --version
1、在Linux上是有yum安裝Git,非常簡(jiǎn)單,只需要一行命令:
yum -y install git
輸入:
git --version
查看Git是否安裝完成以及查看其版本號(hào)
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í)行下面的命令,一直回車,直到結(jié)束
ssh-keygen -t rsa -C xxxxx@xxx.com
4、生成ssh key
cat ~/.ssh/id_rsa.pub
5、登陸GitHub,點(diǎn)擊setting>SSHand GPG keys>New SSH Key 將生成的密鑰復(fù)制到Key中即可
6、測(cè)試是否配置成功
ssh -T git@github.com
7、出現(xiàn)這樣一段話,即證明配置成功。
Hi RoninLee! You've successfully authenticated, but GitHub does not provide shell access.
1、運(yùn)行以下命令拉起源碼:
git clone https://github.com/bigbaser/TcloudServer.git
2、進(jìn)入到TcloudServer\deploy目錄下,使用以下命令,拉取所有(等待一會(huì),拉取時(shí)間較長(zhǎng))
docker-compose pull
3、然后修改local_config.py文件,
# 這里的賬號(hào)密碼是在docker-compose.yml中配置的,改成以下 SQLALCHEMY_DATABASE_URI = 'mysql://root:tc123456@mysql:3306/demo?charset=utf8'
4、再初始化kong的數(shù)據(jù)庫(kù)(如果報(bào)錯(cuò),再執(zhí)行一次,成功的話會(huì)顯示Database is up-to-date)
$ sudo docker-compose up -d kong_database // 容器啟動(dòng)以后,數(shù)據(jù)庫(kù)會(huì)本地掛載到 ./volumes/kong_database 里面 // 但由于權(quán)限問(wèn)題,初始化數(shù)據(jù)庫(kù)會(huì)失敗,所以要先對(duì)該文件賦予權(quán)限 $ sudo chmod -R 777 ./volumes/kong_database $ sudo docker-compose run --rm kong kong migrations bootstrap
5、然后啟動(dòng)所有項(xiàng)目
$ sudo docker-compose up -d
6、查看啟動(dòng)狀態(tài)
$ sudo docker-compose ps
7、如果所有狀態(tài)均為up,則運(yùn)行正常,否則查看日志
sudo docker logs <name>查看日志
8、打開(kāi)konga(kong的管理頁(yè)面,http://localhost:9001),注冊(cè)賬號(hào)并登錄,再新建連接,地址為http://kong:8001
9、成功后,進(jìn)入SNAPSHOT頁(yè)面,點(diǎn)擊IMPORT FROM FILE,選擇我們的kong.json文件,并進(jìn)入DETAILS中RESTORE,全選導(dǎo)入,可能會(huì)出錯(cuò),再執(zhí)行一次即可,此時(shí)我們的網(wǎng)關(guān)服務(wù)已經(jīng)運(yùn)行完成,地址為http://localhost:9000
ps: 數(shù)據(jù)庫(kù)初始化文件是init/init.sql,可以通過(guò)sudo docker-compose down -v再刪除volume/mysql掛載目錄之后,sudo docker-compose up -d來(lái)重新初始化數(shù)據(jù)庫(kù)
1、安裝node環(huán)境
從CentOS儲(chǔ)存庫(kù)安裝Node.js和npm
可以從標(biāo)準(zhǔn)CentOS存儲(chǔ)庫(kù)中安裝Node.js和npm。
通過(guò)運(yùn)行以下命令列出提供nodejs軟件包的模塊:
yum module list nodejs
要在CentOS系統(tǒng)上安裝默認(rèn)的Node.js軟件包,請(qǐng)輸入:
sudo yum module install nodejs
輸入以下命令:
node --version #檢查node 是否安裝成功 npm --version #檢查 npm 是否安裝成功
2、使用以下命令拉取前端代碼:
git clone https://github.com/bigbaser/Tcloud.git
3、在前端項(xiàng)目的根目錄下執(zhí)行:npm install 安裝依賴包
4、安裝依賴包如報(bào)以下錯(cuò):
解決辦法:
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
6、運(yùn)行前端項(xiàng)目:
npm run dev
7、在非 localhost 域名下登錄不成功,可以打開(kāi)開(kāi)發(fā)者工具,查看Application下的Cookies是否有JWT_TOKEN_TCLOUD_DEV。
如果沒(méi)有,找到前端項(xiàng)目 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 改成前端當(dāng)前訪問(wèn)域名即可。
一、docker pull 鏡像時(shí)報(bào)錯(cuò):
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)
二、分析問(wèn)題:
問(wèn)題1、2這個(gè)是因?yàn)?a title="DNS" target="_blank" href="http://www.kemok4.com/dns/">DNS域名沒(méi)有解析的原因。
問(wèn)題3 網(wǎng)絡(luò)連接超時(shí),這情況涉及到很多因素。
三、解決辦法:
問(wèn)題:1、2:
vi /etc/resolv.conf 增加一行DNS地址:例如:nameserver 114.114.114.114 (此方法服務(wù)器重啟之后會(huì)失效。參考方法2:vi /etc/sysconfig/network-scripts/ifcfg-ens33打開(kāi)網(wǎng)卡配置文件,在配置文件中添加:DNS1=”8.8.8.8”,DNS2=”114.114.114.114”)
保存之后,繼續(xù)執(zhí)行拉取鏡像的命令,即可!
問(wèn)題:3:
3.1通過(guò)dig @114.114.114.114 registry-1.docker.io找到可用IP
3.2嘗試修改/etc/hosts強(qiáng)制docker.io相關(guān)的域名解析到其它可用IP
3.3保存之后重試即可: docker search sameersbn
附一些常用Docker命令,更多命令詳解,請(qǐng)?jiān)L問(wèn):http://www.docker.org.cn/dockerppt/106.html:
----------------- docker ps 查看當(dāng)前正在運(yùn)行的容器
----------------- docker ps -a 查看所有容器的狀態(tài)
----------------- docker start/stop id/name 啟動(dòng)/停止某個(gè)容器
----------------- docker attach id 進(jìn)入某個(gè)容器(使用exit退出后容器也跟著停止運(yùn)行)
----------------- docker exec -ti id 啟動(dòng)一個(gè)偽終端以交互式的方式進(jìn)入某個(gè)容器(使用exit退出后容器不停止運(yùn)行)
----------------- docker images 查看本地鏡像
----------------- docker rm id/name 刪除某個(gè)容器
----------------- docker rmi id/name 刪除某個(gè)鏡像
----------------- docker run --name test -ti ubuntu /bin/bash 復(fù)制ubuntu容器并且重命名為test且運(yùn)行,然后以偽終端交互式方式進(jìn)入容器,運(yùn)行bash
----------------- docker build -t soar/centos:7.1 . 通過(guò)當(dāng)前目錄下的Dockerfile創(chuàng)建一個(gè)名為soar/centos:7.1的鏡像
----------------- docker run -d -p 2222:22 --name testsoar/centos:7.1 以鏡像soar/centos:7.1創(chuàng)建名為test的容器,并以后臺(tái)模式運(yùn)行,并做端口映射到宿主機(jī)2222端口,P參數(shù)重啟容器宿主機(jī)端口會(huì)發(fā)生改變
以上是“CentOS8中如何使用Docker部署開(kāi)源項(xiàng)目”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。