Compose: Variabel lingkungan tidak disetel saat menggunakan docker-compose melalui ssh

Dibuat pada 29 Des 2016  ·  4Komentar  ·  Sumber: docker/compose

Halo,

Diberikan docker-compose 1.9.0 dan docker-compose.yml berikut:

version: '2'
services:
kafka:
image: wurstmeister/kafka
environment:
KAFKA_ADVERTISED_HOST_NAME: ${HOSTNAME}

Ketika saya menjalankan perintah berikut:

ssh [email protected] "docker-compose up -d

Kemudian variabel lingkungan nama host tidak dikenali. Saya mendapatkan pesan berikut:

Variabel HOSTNAME tidak disetel. Secara default menggunakan string kosong.

Jika saya menjalankan perintah yang sama pada host "bar" dengan pengguna "foo", saya tidak mendapatkan error. Sama jika saya pertama kali terhubung dengan ssh, lalu menjalankan perintah.
Ini adalah masalah besar bagi kami. Alur kerja ini terjadi di CI kami.

Satu-satunya solusi yang kami temukan adalah menulis skrip berikut:

#!/bin/bash
export HOSTNAME=${HOSTNAME}
docker-compose up -d

Dan jalankan melalui ssh .. Yang tidak tampan ..

kinquestion

Komentar yang paling membantu

Saya menemukan ini yang tampaknya relevan. bash tidak mengekspor $HOSTNAME secara default, yang menjelaskan mengapa tidak terlihat oleh docker-compose .

Saya dapat mereproduksi secara lokal di lingkungan Ubuntu 16.04 saya sehingga saya dapat mengonfirmasi bahwa ini juga tidak ada hubungannya dengan SSH.

Semua 4 komentar

Nah, bukankah itu terjadi karena saat menjalankan perintah melalui ssh secara langsung, Anda sebenarnya tidak membuka shell? Artinya beberapa variabel lingkungan seperti $HOSTNAME tidak akan disetel?

Sepertinya masalah Anda ada pada UNIX dan / atau SSH - Saya tidak melihat apa pun yang dapat dilakukan terkait hal ini di tingkat Tulis.

Itulah yang saya pikirkan. Tetapi solusi perintah berikut berfungsi .. Yang berarti variabel HOSTNAME disetel dengan benar selama sesi ssh. Jadi saya tidak tahu mengapa menulis tidak mengenalinya ... Itu aneh.

Saya menemukan ini yang tampaknya relevan. bash tidak mengekspor $HOSTNAME secara default, yang menjelaskan mengapa tidak terlihat oleh docker-compose .

Saya dapat mereproduksi secara lokal di lingkungan Ubuntu 16.04 saya sehingga saya dapat mengonfirmasi bahwa ini juga tidak ada hubungannya dengan SSH.

@ shin- @made Bagaimana cara memperbaikinya di Ubuntu, harap jelaskan?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat