# docker远程连接

2 min read
文章目录

前言

docker 其实是一个 C/S 程序,执行docker命令行其实就是在与docker daemon服务进行通讯,这里主要是记录下linux下的 docker 如何配置可以被远程访问。

服务端配置

linux上 docker 默认是使用unix socket进行通讯的,如果要远程访问是不支持的,对此需要开启 tcp协议,以支持外部访问。

开启 tcp 协议

  1. 修改/lib/systemd/system/docker.service文件
    Terminal window
    vi /lib/systemd/system/docker.service
  2. 找到ExecStart=/usr/bin/dockerd这一行,添加命令行参数-H tcp://0.0.0.0:3272
    [Service]
    Type=notify
    # the default is not to use systemd for cgroups because the delegate issues still
    # exists and systemd currently does not support the cgroup feature set required
    # for containers run by docker
    ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:3272 --containerd=/run/containerd/containerd.sock
  3. 重启 docker
    Terminal window
    systemctl daemon-reload
    systemctl restart docker

这样服务端就已经配置好了。

客户端配置

首先需要下载一个 docker 客户端,这是一个非常小的可执行文件,不需要为了一个客户端安装整个 docker 应用。

docker 客户端下载

下载完之后将docker文件加入到PATH中,即可在终端使用了。

远程访问

可以直接使用命令行参数来指定远程 docker 进行访问:

Terminal window
docker -H 192.168.1.1:3272 ps

如果不想每次都输入命令行参数,可以配置DOCKER_HOST环境变量,这样每次运行docker命令时,都会自动设定好对应的远程地址。

Terminal window
export DOCKER_HOST="tcp://192.168.1.1:3272"

参考


More Posts

# Github Actions尝鲜

17 min read

Github Actions是 github 官方推出的一款 CI(持续集成)工具,目前还处于Beta版本,需要申请内测资格才能使用,申请成功之后在自己的代码仓库就可以看到Actions了。

阅读

评论区