CentOS8上用Docker部署開源項目Tcloud的教程_docker

來源:腳本之家  責任編輯:小易  

因為centos7用的是linux 3.10 內核,docker官方說至少3.8以上,建議3.10以上。特性主要是資源和命名空間隔離、文件系統的支持,具體看官方文檔https://docs.docker.com/engine/docker-overview/#control-groupswww.13333515.buzz防采集請勿采集本網。

一、安裝Docker

1、我是虛擬機裝的Centos7,linux 3.10 內核,docker官方說至少3.8以上,建議3.10以上(ubuntu下要linux內核3.8以上)

CentOS 7 中 Docker 的安裝 Docker 軟件包已經包括在默認的 CentOS-Extras 軟件源里。因此想要安裝 docker,只需要運行下面的 yum 命令: [[email protected]~]#yum install docker 啟動 Docker

root賬戶登錄,查看內核版本如下

1、使yum的CentOS-Extras配置生效 Docker is included by default in the CentOS-Extras repository 2、執行yum 安裝 yum install docker 3、Docker啟動 systemctl start docker

uname -a

Docker 是一個開源工具,它可以讓創建和管理 Linux 容器變得簡單。容器就像是輕量級的虛擬機,并且可以以毫秒級的速度來啟動或停止。Docker 幫助系統管理員和程序員在容器中開發應用程序,并且

2、把yum包更新到最新

在centos7上我們可以通過yum來安裝docker 1.確保你擁有管理員權限,需要可以使用sudo或者root的命令的權限。2.需要將你的yum的包升級到最新的狀態。sudo yum update 3.為你的yum添加一個repo文件

yum update

1、使yum的CentOS-Extras配置生效 Docker is included by default in the CentOS-Extras repository 2、執行yum 安裝 yum install docker 3、Docker啟動 systemctl start docker

(期間要選擇確認,輸入 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、如果看到如圖:

則說明安裝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 "[email protected]"git config --global core.autocrlf falsegit config --global gui.encoding utf-8

3、執行下面的命令,一直回車,直到結束

ssh-keygen -t rsa -C [email protected]

4、生成ssh key

cat ~/.ssh/id_rsa.pub

5、登陸GitHub,點擊setting>SSHand GPG keys>New SSH Key 將生成的密鑰復制到Key中即可

6、測試是否配置成功

ssh -T [email protected]

7、出現這樣一段話,即證明配置成功。

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:[email protected]: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

9、成功后,進入SNAPSHOT頁面,點擊IMPORT FROM FILE,選擇我們的kong.json文件,并進入DETAILS中RESTORE,全選導入,可能會出錯,再執行一次即可,此時我們的網關服務已經運行完成,地址為http://localhost:9000

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

五、前端部署

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、安裝依賴包如報以下錯:

解決辦法:

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、運行前端項目:

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 timeoutError 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://github.com/bigbaser/TcloudServer/blob/master/deploy/docs/Docker%E9%83%A8%E7%BD%B2.md

總結

以上所述是小編給大家介紹的CentOS8上用Docker部署開源項目Tcloud的教程,希望對大家有所幫助!

在本教程中,我將介紹如何在CentOS或Fedora上創建和管理Docker容器。請注意:眼下Docker只在64位主機系統上得到支持。將Docker安裝到CentOS或Fedora上要將Docker安裝到CentOS上,首先啟用EPEL軟件庫,然后使用yum命令:sudo yum install docker-io$sudo service docker start$sudo chkconfig docker on要將Docker安裝到Fedora上,使用下面這些命令:sudo yum install docker-io$sudo systemctl start docker.service$sudo systemctl enable docker.service將Docker安裝到CentOS或Fedora上后,你需要將自己添加到docker群組,那樣才能以非root用戶的身份來運行Docker。為此,使用這個命令:sudo usermod-a-G docker$USER退出,重新登錄,以激活群組變更。至此,你應該能夠以非特權用戶的身份來運行docker命令了。Docker的基本用法你想啟動一個新的Docker容器,就需要確定為容器使用哪個Docker映像。你可以搜索官方的Docker映像索引,上面列出了公開可用的Docker映像。Docker索引包括:Docker團隊管理的Linux基本映像(比如Ubuntu、Debian、Fedora和 CentOS),以及用戶貢獻的自定義映像(比如MySQL、Redis和WordPress)。比如說,想在交互模式開啟動一個Ubuntu容器,就要運行下面這個命令。容器一啟動,最后的變量“/bin/bash”就在容器里面執行。docker run-i-t ubuntu/bin/bash你頭一次運行上面這個命令時,它會通過網絡下載可用的一個或多個Ubuntu docker映像,然后使用該映像,啟動Docker容器。Ubuntu容器會立馬啟動,你會看到容器里面的控制臺提示符。你可以訪問容器沙箱里面的功能完備的Ubuntu操作系統。如果你在提示符處鍵入“exit”,就會退出容器,容器會被停止。想列出所有的容器(包括已停止的容器),運行這個命令:docker ps-aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6a08a0b2bb4c ubuntu:14.04/bin/bash About a minute ago Exit 0 cocky_ritchie想在守護進程模式下重新啟動某個已停止的容器:docker start[container-id]想移除某個已停止的容器:docker rm[container-id]想連接到后臺運行的容器,以便查看容器或與之交互:docker attach[container-id]你可以隨意定制某個運行中的容器(比如安裝新軟件)。如果你想把變更內容保存在當前容器中,先要在提示符處鍵入“exit”,退出容器的交互模式。然后使用這個命令,將已變更的映像保存為不同的映像:docker commit[container-id][new-image-name]想獲得你容器的容器ID,可以使用之前描述的“docker ps –a”命令。一旦你已構建了像這樣的新映像,就可以借助該映像啟動一個新的容器了。你還可以下載任何公開的容器映像(比如ubuntu,bowery/mysql),將它們保存到本地軟件庫中,如下所示。docker pull[image name]想查看所有本地下載/保存的容器映像:docker images你可以選擇從哪個特定的映像來啟動容器:docker run-i-t[image-id]/bin/bash想從本地軟件庫移除某個容器映像:docker rmi[image-id]內容來自www.13333515.buzz請勿采集。


  • 本文相關:
  • centos7下搭建zookeeper3.4中間件常用命令小結
  • 基于zookeeper的使用詳解
  • shell腳本實現自動安裝zookeeper
  • 理解zookeeper選舉機制
  • 為zookeeper配置相應的acl權限
  • 深入淺析zookeeper的工作原理
  • docker搭建zookeeper&kafka集群的實現
  • centos6使用docker部署redis主從數據庫操作示例
  • centos6使用docker部署kafka項目的方法分析
  • centos6使用docker部署zookeeper操作示例
  • 詳解docker使用阿里云docker鏡像庫加速(修訂版)
  • 詳解docker守護進程的配置及日志
  • 詳解docker容器間通信的一種方法
  • 使用docker compose搭建一個elk系統的方法
  • docker安裝和簡單使用入門教程
  • docker的理解和基本命令詳解
  • 詳解基于docker 如何部署surging分布式微服務引擎
  • docker 如何刪除none鏡像
  • 使用grafana 展示docker容器的監控圖表并設置郵件報警規則(圖解
  • mac下部署springboot項目到docker中(demo)
  • 如何在docker centos容器中使用systemd
  • docker為何需要centos7?用到了linux內核的多少版本?是什么新特性
  • 如何在 CentOS 7 上安裝 Docker
  • 如何在 CentOS 7 上安裝 Docker
  • 如何在 CentOS 7 上安裝 Docker
  • 如何在 CentOS 7 上安裝 Docker
  • 如何在 CentOS 7 上安裝 Docker
  • 如何在centos7上通過yum安裝docker
  • 如何在 CentOS 7 上安裝 Docker
  • 如何在 CentOS 7 上安裝 Docker
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云計算技術云其它首頁服務器云和虛擬化dockercentos7下搭建zookeeper3.4中間件常用命令小結基于zookeeper的使用詳解shell腳本實現自動安裝zookeeper理解zookeeper選舉機制為zookeeper配置相應的acl權限深入淺析zookeeper的工作原理docker搭建zookeeper&kafka集群的實現centos6使用docker部署redis主從數據庫操作示例centos6使用docker部署kafka項目的方法分析centos6使用docker部署zookeeper操作示例詳解docker使用阿里云docker鏡像庫加速(修訂版)詳解docker守護進程的配置及日志詳解docker容器間通信的一種方法使用docker compose搭建一個elk系統的方法docker安裝和簡單使用入門教程docker的理解和基本命令詳解詳解基于docker 如何部署surging分布式微服務引擎docker 如何刪除none鏡像使用grafana 展示docker容器的監控圖表并設置郵件報警規則(圖解mac下部署springboot項目到docker中(demo)docker 清理命令集錦docker 給運行中的容器設置端口映ubuntu14.04+docker的安裝及使用docker獲取鏡像報錯docker: errodocker.service啟動失敗:unit ndocker容器如何優雅的終止詳解centos7 安裝docker 解決啟動不了詳解docker國內鏡像拉取和鏡像加淺談docker-compose網絡設置之nedocker如何固定ip設置的方法詳解docker cpu限制分析kubernetes作用領域總結docker學習筆記之docker入門docker常用命令與小技巧匯總詳解docker掛載本地目錄在ubuntu 16.04上用docker swarm和digita主機nginx + docker wordpress mysql搭建詳解通過docker和docker-compose實現euredocker實踐之python應用容器化docker registry搭建私有鏡像倉庫的實現方
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.13333515.buzz All Rights Reserved
    3排列五开奖结果