开发者视角下的Docker工具使用指南

在本文中,将从开发者的角度出发,探讨如何在Docker DevCloud虚拟机上配置和使用Docker工具。本指南将指导完成从安装Cygwin和Docker工具到安全连接Docker客户端到虚拟机的整个过程。

先决条件

在开始之前,请确保已经拥有Docker DevCloud虚拟机的管理员访问权限。如果遇到sudo权限问题,可以使用以下命令以root用户身份登录:

su -

或者使用密码abc123或Cloud123来访问root权限。

首先,需要下载Cygwin。请注意,可以使用以下命令以非管理员账户安装Cygwin,仅供个人使用:

setup*.exe --no-admin

接下来,下载Docker工具。请从企业工件仓库下载docker-1.8.1(当前最新版本)。

配置Cygwin

在安装Cygwin时,请选择“从互联网安装”。使用默认目录,但选择“所有用户”。使用默认软件包,并选择“使用系统代理设置”。选择顶级URL作为下载站点。在“选择软件包”时,搜索并选择openssh、curl和socat,并选择它们的二进制文件。点击“下一步”完成安装。

在安装完成后,选择创建桌面图标的选项。完成后,桌面上应该会出现Cygwin终端的快捷方式。

配置Docker

将下载的文件重命名为Docker.exe,并将其放置在文件夹中(不要放在c:\program files或c:\program files(x86)中)。更新path环境变量以引用Docker.exe所在的文件夹:

Compute Properties, Advanced System Settings, Environment Variable Button, add to User Path Variable

在命令提示符下输入以下命令,应该能够看到来自客户端的响应,但没有服务器/主机响应:

docker version

连接Docker客户端到虚拟机

为了安全地访问Docker API,请参考以下步骤:

启动Cygwin终端,并输入以下命令生成SSH密钥:

ssh-keygen

请保留默认位置和密码。然后,请BYO Docker Devcloud VM管理员将公钥添加到authorized_keys2文件中(如果管理员不熟悉此操作,底部有相关说明)。

一旦VM管理员更新了authorized_keys2,可以使用以下两个命令从Cygwin验证密钥是否有效:

MYBYO=vmname ssh root@$MYBYO id

如果成功,应该收到类似于以下响应:

uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

创建Docker隧道脚本

在Cygwin中创建一个名为docker-tunnel的脚本,并输入以下内容:

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 to exit edit chmod +x ./docker-tunnel

测试连接:

./docker-tunnel $MYBYO

打开浏览器,访问以下地址,应该能够下载JSON文件:

http://127.0.0.1:2375/version

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" }

最终连接部分

在Cygwin中输入以下命令:

export DOCKER_HOST=tcp://127.0.0.1:2375

退出Cygwin并打开命令提示符,输入:

docker version

现在应该能够看到主机部分和客户端部分都已完成。

对于虚拟机管理员如何登录和更新Authorized_keys2

请参考以下步骤登录VM:

ssh -l soeid vm-computer-name

如果这是第一次登录,可能会遇到有关未设置家目录的错误。

更改目录到/etc/ssh/keys/root,通过输入以下命令查看authorized_keys2的内容:

cat authorized_keys2

使用vim编辑authorized_keys2:

vi authorized_keys2

编辑文件时,请参考Linux初学者指南中的vi编辑文件指南。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485