045、安装Docker Machine (2019-03-08 周五)
前面我们的实验中只有一个docker host ,所有的容器都是运行在这一个host上的。但在真实环境中会有很多都个host,容器在这些host中的启动、运行、停止、销毁,相关容器会通过网络进行互相通信,无论他们是否位于相同的host。
为了结果多host部署和管理的问题,我们使用docker machine来解决。
docker machine 可以批量安装和配置docker host,这个host可以是本地的虚机、物理机,也可以是公有云中的云主机。
docker machine 为这些环境起了一个统一的名字: provider ,对于特定的provider,docker machine使用相对于的driver安装和配置docker host
Docker Machine 官方安装教程 https://docs.docker.com/machine/install-machine/
1、安装docker-ce
# 配置Ubuntu源
cat >/etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
EOF
# 配置docker源
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
# 安装docker
apt-get -y install docker-ce
2、安装docker machine
base=https://github.com/docker/machine/releases/download/v0.16.0 && curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine && install /tmp/docker-machine /usr/local/bin/docker-machine
3、检查安装是否成功
docker-machine version
4、安装 bash completion scripts
base=https://raw.githubusercontent.com/docker/machine/v0.16.0
for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
do
sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
done
手工执行 source /etc/bash_completion.d/docker-machine-prompt.bash
手写 PS1='[\u@\h \W$(__docker_machine_ps1)]\$ ' 到 ~/.bashrc 文件末尾
手工执行 source ~/.bashrc
退出重新登录,即可实现命令的自动补全
[root@dm03 ~]# docker-machine
active help ls restart start url
config inspect mount rm status use
create ip provision scp stop version
env kill regenerate-certs ssh upgrade