最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

輕松安裝docker并運(yùn)行docker swarm模式

 更新時(shí)間:2016年12月08日 13:57:49   作者:月冷X心寒  
這篇文章主要介紹了安裝docker并運(yùn)行docker swarm模式的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友一起學(xué)習(xí)吧

概要

docker 1.12版本最大的改變?cè)谟诩闪薲ocker swarm,在docker engine下提供了 swarm 模式,這里主要說(shuō)一下docker swarm。

docker engine本身只提供了容器技術(shù),沒(méi)有解決集群環(huán)境下的容器編排和通信。docker swarm是一個(gè)容器編排管理工具,docker-engine在1.12版本之后集成了docker swarm,不需要再單獨(dú)安裝。

docker swarm的功能,舉個(gè)例子,有3臺(tái)機(jī)器都安裝了docker環(huán)境,稱為3臺(tái)docker節(jié)點(diǎn)。那么如何管理這3臺(tái)docker節(jié)點(diǎn),并把容器以類似于負(fù)載均衡的模式分別部署到這3臺(tái)節(jié)點(diǎn)上,并讓這些分布在不同節(jié)點(diǎn)上的容器之間互相通信呢。這時(shí)候需要用到容器編排工具,常用的編排工具有Google開源的kubernetes、apache的mesos、docker公司的swarm。

kubernetes作為Google開源的工具,已經(jīng)在Google的生產(chǎn)環(huán)境運(yùn)行了多年,功能豐富并且穩(wěn)定可靠,目前有很多公司都在使用。docker在1.12版本之后內(nèi)置了swarm模式,把容器編排以核心組件的模式集成到了docker engine中,并借鑒了kubernetes的成功經(jīng)驗(yàn)。

安裝docker

以centos7為例,這里附上官網(wǎng)的安裝文檔,docker官網(wǎng)實(shí)在太慢了。
使用yum安裝

1.更新yum源,sudo yum update;、。

2.添加docker的yum倉(cāng)庫(kù)

sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

3.安裝docker-engine,sudo yum install docker-engine

4.啟動(dòng)docker守護(hù)進(jìn)程,sudo systemctl start docker
docker的安裝到這里就結(jié)束了,下邊說(shuō)一下在公司內(nèi)網(wǎng)環(huán)境通過(guò)代理安裝docker需要注意的問(wèn)題。

1.首先讓機(jī)器能通過(guò)代理上網(wǎng)

修改/etc/profile,增加export http_proxy=代理用戶名:密碼@代理地址:端口

使修改生效,source /etc/profile

2.配置yum使用代理

vim /etc/yum.conf 增加proxy=http://代理用戶名:密碼@代理地址:端口

經(jīng)過(guò)這兩步之后,就可以在內(nèi)網(wǎng)通過(guò)代理安裝docker了。

配置docker

打開docker遠(yuǎn)程管理端口2375,并配置docker hub國(guó)內(nèi)倉(cāng)庫(kù)。

1.新建docker配置文件

vim /etc/sysconfig/docker

增加

DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:2375 --registry-mirror=國(guó)內(nèi)倉(cāng)庫(kù)地址"

如果需要通過(guò)代理訪問(wèn)還需要增加

HTTP_PROXY=http://代理用戶名:密碼@代理地址:端口

2.啟動(dòng)docker守護(hù)進(jìn)程時(shí)加載配置文件

vim /lib/systemd/system/docker.servic

修改ExecStart配置為

ExecStart=/usr/bin/dockerd $DOCKER_OPTS

在[Service]中增加配置文件路徑的配置

EnvironmentFile=-/etc/sysconfig/docker

把配置文件加載路徑指定到第一步創(chuàng)建的配置文件/etc/sysconfig/docker

3.重啟docker守護(hù)進(jìn)程

sudo systemctl stop docker
sudo systemctl start docker

4.檢查配置是否生效

ps -ef|grep docker

如果配置生效,會(huì)在dockerd進(jìn)程后邊加上剛才配置的參數(shù)。

啟動(dòng)swarm模式

只需要在一個(gè)docker節(jié)點(diǎn)上初始化swarm集群, 其他節(jié)點(diǎn)加入這個(gè)集群就行了。

選擇一臺(tái)docker節(jié)點(diǎn)作為swarm模式的leader,運(yùn)行

docker swarm init --advertise-addr 主機(jī)ip

按照提示信息在其他節(jié)點(diǎn)上執(zhí)行命令加入swarm集群

在leader節(jié)點(diǎn)上執(zhí)行docker node ls 查看節(jié)點(diǎn)信息

創(chuàng)建集群網(wǎng)絡(luò)

1.在swarm集群中的任意一個(gè)節(jié)點(diǎn)上運(yùn)行

docker network ls 查看當(dāng)前網(wǎng)絡(luò)狀況

scope為local的網(wǎng)絡(luò)只能作用于本機(jī),下邊創(chuàng)建swarm集群使用的網(wǎng)絡(luò)。

2.運(yùn)行 docker network create --driver overlay my-network

創(chuàng)建一個(gè)名為my-network的集群網(wǎng)絡(luò)

再次運(yùn)行 docker network ls,可以看到剛才創(chuàng)建的my-network ,scope為swarm,這個(gè)網(wǎng)絡(luò)可以用于swarm模式,并讓多個(gè)節(jié)點(diǎn)上的容器可以互通。

在swarm中創(chuàng)建service時(shí)可以通過(guò) --network 網(wǎng)絡(luò)名稱 指定使用的網(wǎng)絡(luò)。多個(gè)service如果使用同一個(gè)scope為swarm的network,可以通過(guò)service的名稱互相通信。

docker swarm簡(jiǎn)單使用

下邊簡(jiǎn)單介紹docker swarm的使用,有興趣的可以查看docker官方文檔進(jìn)行深入了解。

下邊的命令全部是在swarm的leader節(jié)點(diǎn)運(yùn)行?。?/p>

docker service create --replicas 1 --name tomcat --publish 9090:8080 tomcat:latest

這里創(chuàng)建了一個(gè)名為tomcat 的service,swarm把容器封裝為service,類似于kubernates中的pod,一個(gè)service是一個(gè)可供swarm調(diào)度的容器組合。

這里的--replicas 1指定了service的副本數(shù)。

--publish 9090:8080把容器中的8080端口發(fā)布到宿主機(jī)的9090端口

運(yùn)行 docker service ls 查看當(dāng)前的服務(wù)列表,可以看到有一個(gè)名為tomcat的服務(wù)。

運(yùn)行 docker service ps tomcat 可以看到tomcat服務(wù)運(yùn)行在哪個(gè)swarm節(jié)點(diǎn),以及當(dāng)前運(yùn)行的狀態(tài)。

切換到tomcat服務(wù)運(yùn)行的節(jié)點(diǎn),運(yùn)行 docker ps 可以看到容器的ID,以及端口映射的情況。

運(yùn)行 docker logs -f 容器ID 查看tomcat運(yùn)行日志。

tomcat啟動(dòng)成功后,可以在瀏覽器中訪問(wèn)tomcat主頁(yè),地址是docker節(jié)點(diǎn)的ip(隨便哪一個(gè)節(jié)點(diǎn)都可以),端口是9090,是在創(chuàng)建服務(wù)時(shí)指定的publish。

上邊已經(jīng)成功運(yùn)行了一個(gè)tomcat服務(wù),這里對(duì)這個(gè)服務(wù)進(jìn)行擴(kuò)展部署。

運(yùn)行 docker service scale tomcat=2 把tomcat服務(wù)擴(kuò)展為兩個(gè)實(shí)例。

運(yùn)行 docker service ls 可以看到tomcat服務(wù)的replicas變成了1/2,第二個(gè)實(shí)例啟動(dòng)成功之后會(huì)變?yōu)?/2。

運(yùn)行 docker service ps tomcat 查看兩個(gè)tomcat服務(wù)實(shí)例運(yùn)行在哪個(gè)docker節(jié)點(diǎn),以及運(yùn)行狀態(tài)。

swarm會(huì)自動(dòng)在兩個(gè)service中做負(fù)載均衡

swarm還有一些其他的命令,比如 docker service rm service名稱 刪除指定service,以及灰度發(fā)布等,具體使用請(qǐng)參照官方文檔,這里不再細(xì)說(shuō)。

swarm模式下需要注意的問(wèn)題

swarm只會(huì)在docker節(jié)點(diǎn)之間調(diào)度容器,不會(huì)調(diào)度容器使用的掛載卷volume。在用swarm部署數(shù)據(jù)庫(kù)的容器時(shí),需要注意數(shù)據(jù)文件的問(wèn)題。或者加載了外部配置文件的容器,也需要注意配置文件的問(wèn)題。
一種簡(jiǎn)單的解決方式,是讓這些容器每次都被調(diào)度到相同的docker節(jié)點(diǎn)上。需要在創(chuàng)建service時(shí)指定--constraint 參數(shù),比如 --constraint 'node.hostname==myhost' ,這樣創(chuàng)建的service只會(huì)被調(diào)度到主機(jī)名為myhost的docker節(jié)點(diǎn)。
另一種解決方式,使用docker volume插件,比如flocker。flocker可以在容器調(diào)度的時(shí)候,連同volume一起調(diào)度,這里不再細(xì)說(shuō),可以參照f(shuō)locker的官網(wǎng)文檔。

最后

這里只是對(duì)docker的安裝配置以及docker swarm的使用做了簡(jiǎn)單介紹,想要有更深入的了解,請(qǐng)參照官方文檔,官方文檔是學(xué)習(xí)的最好途徑。docker只是微服務(wù)架構(gòu)的開篇,想要實(shí)踐微服務(wù),docker必不可少。

后續(xù)會(huì)陸續(xù)推出基于docker部署的微服務(wù)架構(gòu),使用spring cloud做微服務(wù)解決方案,基于docker的mysql和mongodb的部署,基于docker的rabbitmq和activemq消息中間件的部署,以及基于docker部署的kafka、elk日志收集統(tǒng)計(jì)等。

以上所述是小編給大家介紹的輕松安裝docker并運(yùn)行docker swarm模式,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 使用docker制作分布式lnmp 鏡像

    使用docker制作分布式lnmp 鏡像

    最近在學(xué)習(xí)docker相關(guān)知識(shí),順便把docker制作分布式lnmp 鏡像的過(guò)程分享給大家,包括Nginx配置文件和PHP文件的修改代碼也一并給出,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • 項(xiàng)目訪問(wèn)使用docker bridge網(wǎng)絡(luò)模式(端口映射)配置過(guò)程

    項(xiàng)目訪問(wèn)使用docker bridge網(wǎng)絡(luò)模式(端口映射)配置過(guò)程

    這篇文章主要介紹了項(xiàng)目訪問(wèn)使用docker bridge網(wǎng)絡(luò)模式(端口映射)配置過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 詳解如何在Docker部署Go程序

    詳解如何在Docker部署Go程序

    Docker是一種輕量級(jí)的容器技術(shù),可以為應(yīng)用程序的部署提供統(tǒng)一、可移植的運(yùn)行環(huán)境,下面我們來(lái)講講如何將Go應(yīng)用程序部署到Docker的容器吧
    2023-08-08
  • docker容器跨服務(wù)器的遷移的方法

    docker容器跨服務(wù)器的遷移的方法

    本篇文章主要介紹了docker容器跨服務(wù)器的遷移的方法,docker的備份方式有export和save兩種,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • Docker以掛載方式安裝RocketMQ的實(shí)現(xiàn)方式

    Docker以掛載方式安裝RocketMQ的實(shí)現(xiàn)方式

    Docker中安裝和使用RocketMQ有多種方式,本文主要介紹了Docker以掛載方式安裝RocketMQ的實(shí)現(xiàn)方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • docker容器如何優(yōu)雅的終止詳解

    docker容器如何優(yōu)雅的終止詳解

    最近公司在試驗(yàn)如何將項(xiàng)目部署到docker容器中去,這其中涉及到一個(gè)技術(shù)環(huán)節(jié),那就是如何讓docker容器優(yōu)雅的終止。所謂優(yōu)雅終止,指的就是程序在退出前有清理資源,保存必要中間狀態(tài),持久化內(nèi)存數(shù)據(jù)的機(jī)會(huì)。下面通過(guò)這篇大家一起由簡(jiǎn)單到復(fù)雜逐一考量一下。
    2016-11-11
  • Docker搭建自己的本地鏡像倉(cāng)庫(kù)的步驟

    Docker搭建自己的本地鏡像倉(cāng)庫(kù)的步驟

    今天小編就為大家分享一篇關(guān)于Docker搭建自己的本地鏡像倉(cāng)庫(kù)的步驟,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Docker 容器全部停止的幾種方法實(shí)現(xiàn)

    Docker 容器全部停止的幾種方法實(shí)現(xiàn)

    我們需要停止所有的容器時(shí),可以使用一些命令來(lái)實(shí)現(xiàn),本文主要介紹了Docker 容器全部停止的幾種方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Docker手動(dòng)構(gòu)建JDK鏡像的實(shí)現(xiàn)示例

    Docker手動(dòng)構(gòu)建JDK鏡像的實(shí)現(xiàn)示例

    本文主要介紹了 Docker手動(dòng)構(gòu)建JDK鏡像的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • docker中配置hosts的方法實(shí)現(xiàn)

    docker中配置hosts的方法實(shí)現(xiàn)

    本文主要介紹了docker中配置hosts的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評(píng)論

忻州市| 河南省| 湟中县| 比如县| 防城港市| 仁布县| 彭山县| 绥芬河市| 法库县| 类乌齐县| 永福县| 丰宁| 灌云县| 潢川县| 成安县| 兴和县| 普陀区| 霞浦县| 武冈市| 剑河县| 屯留县| 晋城| 三河市| 临桂县| 安陆市| 浦县| 开封县| 民权县| 康平县| 天津市| 福海县| 三河市| 固原市| 林周县| 大方县| 会同县| 获嘉县| 七台河市| 杭州市| 湖州市| 镇赉县|