概要
docker 1.12版本最大的改變在于集成了docker swarm,在docker engine下提供了 swarm 模式,這里主要說一下docker swarm。
docker engine本身只提供了容器技術,沒有解決集群環境下的容器編排和通信。docker swarm是一個容器編排管理工具,docker-engine在1.12版本之后集成了docker swarm,不需要再單獨安裝。
docker swarm的功能,舉個例子,有3臺機器都安裝了docker環境,稱為3臺docker節點。那么如何管理這3臺docker節點,并把容器以類似于負載均衡的模式分別部署到這3臺節點上,并讓這些分布在不同節點上的容器之間互相通信呢。這時候需要用到容器編排工具,常用的編排工具有Google開源的kubernetes、apache的mesos、docker公司的swarm。
kubernetes作為Google開源的工具,已經在Google的生產環境運行了多年,功能豐富并且穩定可靠,目前有很多公司都在使用。docker在1.12版本之后內置了swarm模式,把容器編排以核心組件的模式集成到了docker engine中,并借鑒了kubernetes的成功經驗。
安裝docker
以centos7為例,這里附上官網的安裝文檔,docker官網實在太慢了。
使用yum安裝1.更新yum源,sudo yum update;、。
2.添加docker的yum倉庫
sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'[dockerrepo]name=Docker Repositorybaseurl=https://yum.dockerproject.org/repo/main/centos/7/enabled=1gpgcheck=1gpgkey=https://yum.dockerproject.org/gpgEOF
3.安裝docker-engine,sudo yum install docker-engine
4.啟動docker守護進程,sudo systemctl start docker
docker的安裝到這里就結束了,下邊說一下在公司內網環境通過代理安裝docker需要注意的問題。1.首先讓機器能通過代理上網
修改/etc/profile,增加export http_proxy=代理用戶名:密碼@代理地址:端口
使修改生效,source /etc/profile
2.配置yum使用代理
vim /etc/yum.conf 增加proxy=http://代理用戶名:密碼@代理地址:端口
經過這兩步之后,就可以在內網通過代理安裝docker了。
配置docker
打開docker遠程管理端口2375,并配置docker hub國內倉庫。
1.新建docker配置文件
vim /etc/sysconfig/docker
增加
DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:2375 --registry-mirror=國內倉庫地址"
如果需要通過代理訪問還需要增加
HTTP_PROXY=http://代理用戶名:密碼@代理地址:端口
2.啟動docker守護進程時加載配置文件
vim /lib/systemd/system/docker.servic
修改ExecStart配置為
ExecStart=/usr/bin/dockerd $DOCKER_OPTS
在[Service]中增加配置文件路徑的配置
EnvironmentFile=-/etc/sysconfig/docker
把配置文件加載路徑指定到第一步創建的配置文件/etc/sysconfig/docker
3.重啟docker守護進程
sudo systemctl stop docker
sudo systemctl start docker4.檢查配置是否生效
ps -ef|grep docker
如果配置生效,會在dockerd進程后邊加上剛才配置的參數。
啟動swarm模式
只需要在一個docker節點上初始化swarm集群, 其他節點加入這個集群就行了。
選擇一臺docker節點作為swarm模式的leader,運行
docker swarm init --advertise-addr 主機ip
按照提示信息在其他節點上執行命令加入swarm集群
在leader節點上執行docker node ls 查看節點信息
創建集群網絡
新聞熱點
疑難解答