Python CGIスクリプトを実行し、その内部でdocker imageを実行する必要があります。Dockerバージョン1.6.2を使用しています。ユーザーは「www-data」で、dockerグループに追加されています。
www-data : www-data Sudo docker
マシンでは、www-dataを使用してdockerコマンドを実行できます
www-data@mytest:~/html/new$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Python CGIスクリプトからDockerイメージを実行中に次のエラーが発生します:
fatal msg="Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?"
ここで見逃しているものはありますか?
デフォルトのインストールで拒否されたアクセス権は、root以外のユーザーまたはdockerグループにないユーザーからソケットにアクセスしようとしていることを示します。実行できるはずです:
Sudo usermod -a -G docker $username
目的の$ usernameでグループに追加します。これを有効にするには、ログアウトして再度ログインする必要があります(既存のシェルでnewgrp docker
を使用するか、これがcgiスクリプトのようなドッカーにアクセスする外部サービスの場合はデーモンを再起動します)。
これを効果的に行うと、そのユーザーにホストでの完全なrootアクセス権が与えられることに注意してください。これには注意が必要です。