65.9K
CodeProject 正在变化。 阅读更多。
Home

开发人员 Docker 工具配置。

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2018年10月18日

CPOL

3分钟阅读

viewsIcon

5516

配置开发者 Docker 工具以使用自带 VM 作为您的 Docker 主机/机器

引言

最近,我们第一个 docker 容器在 DEV 环境中工作了。CodeProject 上已经有很多很棒的文章,对我帮助很大,但我希望从开发者的角度稍微扩展一下。

先决条件

  • Docker DevCloud VM
  • 您新 VM 的管理员访问权限 - 请注意,如果您在使用 sudo 权限时遇到问题,可以使用 "su -" 命令和密码 abc123Cloud123 来访问 root 用户
  • 下载 Cygwin - 请注意,您可以“在非特权帐户下安装仅供您自己使用,运行 setup*.exe 并使用 <tt>--no-admin</tt> 选项。”
  • 下载 Docker 工具 - 从企业制品库下载 docker-1.8.1(此时为最新版本)

配置 Cygwin

  1. 选择“从 Internet 安装”
  2. 使用默认目录,但选择“所有用户
  3. 使用默认包
  4. 选择“使用系统代理设置”
  5. 选择下载站点的顶部 URL
  6. 在“选择包”中,搜索并选择 'openssh'、'curl' 和 'socat' 并选择它们的二进制文件
  7. 单击“下一步”完成安装
  8. 选择创建桌面图标的选项(完成后,您的桌面上应该会出现 Cygwin 终端的快捷方式)

配置 Docker

  1. 将下载的文件重命名为 Docker.exe
  2. 将文件放在一个文件夹中(不在 c:\program filesc:\program files(x86) 中)
  3. 更新 path 环境变量以引用 Docker.exe 所在的文件夹
    • 计算机属性,高级系统设置,环境变量按钮,添加到用户路径变量
  4. 从命令提示符处,键入 'docker version',您应该看到来自客户端的响应,但没有来自服务器/主机的响应。

将 Docker 客户端连接到 VM

作为参考(安全地远程访问 Docker API 部分)

  1. 启动 Cygwin 终端
  2. 键入 'ssh-keygen' - 保留默认位置和密码不变
  3. 让您的 BYO Docker Devcloud VM 的管理员将您的公钥添加到 authorized_keys2 文件中(如果您的管理员不熟悉,请参阅底部的说明)
  4. VM 管理员更新 authorized_keys2 后,通过输入以下 2 个命令来验证密钥是否可以从 Cygwin 工作

    MYBYO=vmname 
    	ssh root@$MYBYO id
  5. 如果这有效,您应该收到类似于此的响应:uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
  6. 创建一个名为 docker-tunnel 的脚本,从 cygwin 键入
    • cat > docker-tunnel
    • 粘贴以下文本(来自安全访问 docker 说明的第 4 步)
    #!/bin/bash
    if [[ ! "$1" ]]; then
      echo "Usage: $0 hostname"
    else
      socat \
        "TCP-LISTEN:2375,reuseaddr,fork,range=127.0.0.1/32" \
        "EXEC:'ssh -kTax root@$1 socat STDIO UNIX-CONNECT\:/var/run/docker.sock'" &
        sleep 1
    fi
  • ctr-c 退出编辑
    chmod +x ./docker-tunnel

测试连接

  1. 从 cygwin 键入
    • ./docker-tunnel $MYBYO
  2. 打开浏览器并转到以下地址,您将获得一个 json 文件下载响应
  3. Json 文件内容应类似于以下内容
{
  "Os" : "linux",
  "Version" : "1.10.3",
  "Arch" : "amd64",
  "ApiVersion" : "1.22",
  "GitCommit" : "7ffc8ee-unsupported",
  "KernelVersion" : "3.10.0-327.36.3.el7.x86_64",
  "BuildTime" : "2016-06-17T15:27:21.818932147-04:00",
  "PkgVersion" : "docker-common-1.10.3-44.el7.x86_64",
  "GoVersion" : "go1.4.2"
}

最后的连接步骤

  1. 从 cygwin 键入
    • export DOCKER_HOST=tcp://127.0.0.1:2375
  2. 退出 Cygwin 并打开命令提示符并键入
    • docker version
  3. 您现在应该看到主机部分以及客户端部分已完成

适用于 VM 管理员如何登录和更新 Authorized_keys2

作为参考(登录到您的 VM 部分)

  1. 启动 Cygwin 终端
  2. 键入 'ssh -l soeid vm-computer-name'
  3. 对任何提示选择“是” - 如果这是您第一次,您会遇到一个关于没有设置主文件夹的错误
  4. 将目录更改为 /etc/ssh/keys/root
  5. 通过键入 'cat authorized_keys2' 查看 authorized_keys2 的内容
  6. 使用 vim 编辑 authorized_keys 2,命令 'vi authorized_keys2'
  7. sudo如何使用 vim 编辑 - 使用 vi 编辑文件 — 面向初学者的 Linux 指南

希望本文能帮助您使用开发者 Docker 工具来使用自带 VM 作为您的 Docker 机器,以及配置所需的相同内容。

历史

  • 2018年10月18日:初始版本
© . All rights reserved.