@@ -522,23 +522,15 @@ CentOS 的开启方法比较简单,先修改配置:
522522
523523``` shell
524524vim /usr/lib/systemd/system/docker.service
525- ```
526-
527- 修改 ` ExecStart ` 配置项,默认如下:
528525
529- ``` shell
526+ # 修改 `ExecStart` 配置项,默认如下:
530527ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
531- ```
532-
533- 增加一个 ` -H tcp://0.0.0.0:2375 ` 选项
534528
535- ``` shell
529+ # 增加一个 `-H tcp://0.0.0.0:2375` 选项
536530ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock
537531```
538532
539- 如果是内网生产环境,也可以将 ` 0.0.0.0 ` 改为内网 IP。同样的,` 2375 ` 端口也可以修改。
540-
541- 但是这样可能还有一个问题,无法在命令行使用 ` docker ` 命令了,还需要添加 ` sock ` 选项:` -H unix:///var/run/docker.sock ` ,最后为:
533+ 如果是内网生产环境,也可以将 ` 0.0.0.0 ` 改为内网 IP。同样的,` 2375 ` 端口也可以修改。但是这样可能还有一个问题,无法在命令行使用 ` docker ` 命令了,还需要添加 ` sock ` 选项:` -H unix:///var/run/docker.sock ` ,最后为:
542534
543535``` shell
544536ExecStart=/usr/bin/dockerd -H fd:// -H unix:///var/run/docker.sock -H tcp://10.105.3.115:2375 --containerd=/run/containerd/containerd.sock
@@ -549,20 +541,21 @@ ExecStart=/usr/bin/dockerd -H fd:// -H unix:///var/run/docker.sock -H tcp://10.1
549541``` bash
550542systemctl daemon-reload
551543systemctl restart docker
544+ sudo service docker restart
552545```
553546
554547重启完成后,可以使用 netstat 查看端口是否监听来确认是否成功:
555548
556549``` bash
557550[root@VM-3-115-centos ~ ]# netstat -nutlp | grep 2375
558- tcp 0 0 10.105.3.115:2375 0.0.0.0:* LISTEN 32316/dockerd
551+ tcp 0 0 10.105.3.115:2375 0.0.0.0:* LISTEN 32316/dockerd
559552```
560553
561554### MacOS
562555
563556在 Mac 下无法直接修改配置文件来开启远程 API 服务,后来在 [ ` docker/for-mac ` ] ( https://github.com/docker/for-mac ) 的 [ ` issue ` ] ( https://github.com/docker/for-mac/issues/770 ) 中得到了解决方案。
564557
565- 可以运行一个 [ ` socat ` ] ( https://hub.docker.com/r/bobrik/socat ) 容器,将 ` unix socket ` 上的 Docker API 转发到 MacOS 上指定的端口中:
558+ 可以运行一个 [ ` bobrik/ socat` ] ( https://hub.docker.com/r/bobrik/socat ) 容器,将 ` unix socket ` 上的 Docker API 转发到 MacOS 上指定的端口中:
566559
567560``` bash
568561docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 127.0.0.1:2375:2375 bobrik/socat TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock
@@ -577,6 +570,14 @@ http://127.0.0.1:2375/info
577570http://127.0.0.1:2375/version
578571```
579572
573+ 下面可测试 docker 是否启动了
574+
575+ ``` bash
576+ curl -s --unix-socket /var/run/docker.sock http://dummy/containers/json
577+ # # 或者使用下面命令
578+ docker info
579+ ```
580+
580581## 使用Docker实战
581582
582583> ⚠文件挂载注意:docker 禁止用主机上不存在的文件挂载到 container 中已经存在的文件
0 commit comments