私はDockerを初めて使用し、Windows7でboot2dockerを使用しています。
spotify mavenプラグインを介してDockerビルドを構成しようとしたときに、以下の環境変数を設定するように求められました。
DOCKER_Host
DOCKER_CERT_PATH
DOCKER_TLS_VERIFY
構成は成功しましたが、DOCKER_TLS_VERIFY
変数とDOCKER_CERT_PATH
変数は何をするのかわかりませんか?
として READMEに記載 :
デフォルトでは、boot2dockerはTLSを有効にしてdockerを実行します。証明書を自動生成し、VM内の
/home/docker/.docker
に保存します。
VMが開始されると、boot2docker up
コマンドはそれらをホストマシンの~/.boot2docker/certs
にコピーし、DOCKER_CERT_PATH
およびDOCKER_TLS_VERIFY
環境変数の正しい値を出力します。
eval "$(boot2docker shellinit)" will also set them correctly.
セキュリティ上の理由から、暗号化されていないDockerソケットでBoot2Dockerを実行しないことを強くお勧めしますが、簡単に切り替えることができないツールがある場合は、
DOCKER_TLS=no
ファイルに/var/lib/boot2docker/profile
を追加することで無効にできます。
Boot2docker ipが変更される可能性がある、より動的な環境では、 issue 944 を参照してください。
今のところ、以下のコメントを確認してください。私はGo開発者ではありませんが、その使用法は理解しています。質素すぎるので後で編集します。
から https://github.com/docker/docker/blob/3ea762b9f6ba256cf51bd2c35988f0c48bccf0b0/client/client.go
[...]
// Use DOCKER_Host to set the url to the docker server.
// Use DOCKER_API_VERSION to set the version of the API to reach, leave empty for latest.
// Use DOCKER_CERT_PATH to load the tls certificates from.
// Use DOCKER_TLS_VERIFY to enable or disable TLS verification, off by default.
func NewEnvClient() (*Client, error) {
var client *http.Client
if dockerCertPath := os.Getenv("DOCKER_CERT_PATH"); dockerCertPath != "" {
options := tlsconfig.Options{
CAFile: filepath.Join(dockerCertPath, "ca.pem"),
CertFile: filepath.Join(dockerCertPath, "cert.pem"),
KeyFile: filepath.Join(dockerCertPath, "key.pem"),
InsecureSkipVerify: os.Getenv("DOCKER_TLS_VERIFY") == "",
[...]