资讯专栏INFORMATION COLUMN

Docker Machine远程部署Docker

shenhualong / 3075人阅读

摘要:远程部署一概要发布之前,你可能会遇到以下问题你需要登录主机,按照主机及操作系统特有的安装以及配置步骤安装,使其能运行容器你需要研发一套工具管理多个主机并监控其状态你在本地开发,产品部署在公有云平台,你希望能尽可能的减小两个环境的差异性的出现

Docker Machine远程部署Docker 一、docker machine概要

Docker Machine发布之前,你可能会遇到以下问题:

①你需要登录主机,按照主机及操作系统特有的安装以及配置步骤安装Docker,使其能运行Docker容器
②你需要研发一套工具管理多个Docker主机并监控其状态
③你在本地开发,产品部署在公有云平台,你希望能尽可能的减小两个环境的差异性

Docker Machine的出现解决了以上问题。

①Docker Machine简化了部署的复杂度,无论是在本机的虚拟机上还是在公有云平台,只需要一条命令便可搭建好Docker主机
②Docker Machine提供了多平台多Docker主机的集中管理
③Docker Machine 使应用由本地迁移到云端变得简单,只需要修改一下环境变量即可和任意Docker主机通信部署应用
二、docker machine在远程主机部署docker

环境:

docker-machine主机:192.168.1.9  docker版本:docker-ce
docker主机:192.168.1.10 

步骤:
①更新curl
[root@node1 ~]#yum update curl -y

②安装docker-machine
安装可参考docker-machine官网
linux下载路径:

curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && install /tmp/docker-machine /usr/local/bin/docker-machine

按需求直接复制粘贴安装即可
[root@node1 ~]# docker-machine -v
docker-machine version 0.13.0, build 9ba6da9

③创建ssh密钥对,实现两主机无密登录
[root@node1 ~]# ssh-keygen
[root@node1 ~]# ssh-copy-id 192.168.1.10

④为本地下载更多镜像源,避免在创建machine时找不到软件包
此为阿里云centos7镜像源:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

第三方源:
[root@node1 ~]# yum install epel-release

⑤开启machine通讯端口
[root@node1 ~]# firewall-cmd --add-port=2376/tcp --permanent
[root@node1 ~]# firewall-cmd --reload

⑥创建docker主机,命名host1
[root@node1 ~]# docker-machine create -d generic --generic-ip-address=192.168.1.10 host1

Running pre-create checks...
Creating machine...
(swarm-master) No SSH key specified. Assuming an existing key at the default location.
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with centos...
Running...

[root@node1 ~]# docker-machine ls

NAME           ACTIVE   DRIVER    STATE     URL                       SWARM                   DOCKER        ERRORS
host1   -        generic   Running   tcp://192.168.1.10:2376      v17.12.1-ce

⑦变更docker环境变量
[root@node1 ~]# docker-machine env host1

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.1.10:2376"
export DOCKER_CERT_PATH="/root/.docker/machine/machines/host1"
export DOCKER_MACHINE_NAME="host1"
# Run this command to configure your shell: 
# eval $(docker-machine env host1)

[root@node1 ~]# eval $(docker-machine env host1)

⑧运行容器查看两端是否同步
[root@node1 ~]# docker run -d busybox
[root@node1 ~]# docker-machine ssh host1
[root@host1 ~]# docker image ls

REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
busybox                 latest              f6e427c148a7        6 days ago          1.15MB

[root@host1 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS                              NAMES
8d9b5005a264        busybox             "sh"                     17 seconds ago      Up 16 seconds ago                                         modest_joliot

[root@host1 ~]# exit
[root@node1 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS                              NAMES
8d9b5005a264        busybox             "sh"                    57seconds ago      Up 16 seconds ago                                         modest_joliot

镜像容器同步测试成功

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27267.html

相关文章

  • OSX上Docker快速上手-以部署node.js环境为例

    摘要:简介是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上,也可以实现虚拟化。该虚拟机需要安装操作系统以便在您机上运行。 Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 docker的英文本意是码头工人...

    oujie 评论0 收藏0
  • DevOps 基于Walle的小型持续集成实战(三)Docker与Gitlab

    摘要:自动化测试和持续集成发布。在服务型环境中部署和调整数据库或其他的后台应用。容器与镜像的关系类似于面向对象编程中的对象与类。容器容器是独立运行的一个或一组应用。提供了庞大的镜像集合供使用。 还在按照mysql安装教程一步一步配置服务配置账户吗?还在为每开一个新环境重新配置这些服务感到苦恼吗?使用Docker,服务快速构建部署。解决你的研发时间,早点下班~现代技术,还不会docker你就落...

    since1986 评论0 收藏0
  • Docker machine安装过程

    摘要:是官方提供的一个工具,在集群环境中它可以帮助我们在远程的机器上安装。安装新版本中和版的已经集成了,系统中需要自己手动安装。这样做是为了让能够免密登陆到其他机器来执行安装命令。而并不是简单的安装使用。 Docker Machine 是 Docker 官方提供的一个工具,在集群环境中它可以帮助我们在远程的机器上安装 Dockerr。我们还可以通过 docker-machine 命令来管理这...

    Zack 评论0 收藏0
  • 如何在云服务提供商的平台上使用Docker Machine

    摘要:大家好,今天我们来了解如何使用在各种云服务提供商的平台上部署。是一个可以帮助我们在自己的电脑云服务提供商的平台以及我们数据中心的机器上创建机器的应用程序。支持几个流行的云平台,如及其它等等,所以我们可以在不同的平台使用相同的接口来部署。 大家好,今天我们来了解如何使用Docker Machine在各种云服务提供商的平台上部署Docker。Docker Machine是一个可以帮助我们在自己的...

    noONE 评论0 收藏0
  • [译] 如何在云服务提供商的平台上使用Docker Machine

    摘要:大家好,今天我们来了解如何使用在各种云服务提供商的平台上部署。是一个可以帮助我们在自己的电脑云服务提供商的平台以及我们数据中心的机器上创建机器的应用程序。支持几个流行的云平台,如及其它等等,所以我们可以在不同的平台使用相同的接口来部署。 大家好,今天我们来了解如何使用Docker Machine在各种云服务提供商的平台上部署Docker。Docker Machine是一个可以帮助我们在...

    call_me_R 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<