Komut sonucuna bir docker ENV değişkeni ayarlamak mümkün mü? gibi:Dockerfile - komutunu ayarlamak için ENV komutunu
ENV MY_VAR whoami
i MY_VAR değer "root" ya da her türlü benkimim döner
Komut sonucuna bir docker ENV değişkeni ayarlamak mümkün mü? gibi:Dockerfile - komutunu ayarlamak için ENV komutunu
ENV MY_VAR whoami
i MY_VAR değer "root" ya da her türlü benkimim döner
Ben aynı sorunu vardı ve dockerfile içinde RUN komutunu kullanarak fonksiyonun sonucunda ortam değişkeni ayarlamak için yol buldu almak istiyorum.
RUN bash -l -c 'echo export SECRET_KEY_BASE="$(openssl rand -hex 64)" >> /etc/bash.bashrc'
ve benim env:
docker run -e SECRET_KEY_BASE="$(openssl rand -hex 64)"
Bunun yerine ben gibi dize Dockerfile yazma i çalıştırdığınızda
Örneğin ben olduğu gibi değiştirmeden sadece bir kez Raylar uygulama için SECRET_KEY_BASE ayarlamanız gerekir bash girişinden sonra bile, mevcut olan değişken. veya
RUN /bin/bash -l -c 'echo export SECRET_KEY_BASE="$(openssl rand -hex 64)" > /etc/profile.d/docker_init.sh'
o zaman CMD ve EntryPoint mevcut değişken katman olarak
Docker önbellek emrettiği ve bunu önce bazı dizeleri değiştirmek yalnızca değiştirmek olabilir.
Ayrıca, ortam değişkenini ayarlamak için different ways deneyebilirsiniz.
DarkSideF yanıtına ek olarak.
Dockerfile'daki her satırın/komutun başka bir kapta çalıştırıldığını bilmelisiniz. Bu, tek bir kap içinde çalıştırılır
RUN export bleah=$(hostname -f);echo $bleah;
:
Böyle bir şey yapabiliriz.
Şu anda, bir komut sonucu RUN export
ile kullanılabilir, ancak ENV
değişkenine atanamaz.
Bilinen sorunu: https://github.com/docker/docker/issues/29110
Bkz https://stackoverflow.com/questions/33201271/parse-a-variable-with-the-result-of-a-command-in-dockerfile – akhmed