注意
※production環境ではセキュリティ上好ましくないので、あまりしないほうがいいです(v19からroot権限不要化されたので気にする必要はない?→経路のhttps可などはやっておいてもよさそう)
構成
- ホスト:Debian 10 (VirtualBox on Windows) ※これ
- ゲスト:Debian 10
- Docker:Docker version 19.03.2, build 6a30dfc
- Compose:docker-compose version 1.24.1, build 4667896b
ホストでの作業:Dockerデーモンの設定変更
Dockerデーモンは、デフォルトではunixソケットで動作しているので、TCPでアクセス出来るよう変更します
1
| $ sudo vim /etc/init/docker.conf
|
1 2
| // DOCKER_OPTSの行を変更 DOCKER_OPTS="-d -H=tcp://127.0.0.1:4243"
|
Systemdで動かしている場合はdaemon-scriptも変更しておきます
1
| $ sudo vim /usr/lib/systemd/system/docker.service
|
1 2
| // ExecStartの行を変更 ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:4243
|
変更したら再起動
1 2
| $ sudo systemctl daemon-reload $ sudo systemctl restart docker
|
ホストでの作業:コンテナにマウントする
対象のコンテナのvolumes
に以下のように追記します
1 2 3
| volumes: - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker
|
ゲスト側での作業:動作確認
DOCKER_HOST
環境変数に、ゲストからみたホストのIPと、ホスト側で設定したポート番号を設定します
1 2
| // 継続して使う場合は.bash_profileやdocker-compose.ymlなどに記載して下さい $ export DOCKER_HOST="172.18.0.1:4243"
|
その後docker -v
とかではなく、docker ps
などを実行してみて、permission denied
などが出なければOKです
1 2 3
| $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|