extra_hostsは無効ですか?docker buildでhostsを変更する方法
1358 ワード
会社のプロジェクトはdocker環境の導入を使用しており、dockerイメージ構築段階でhostsを変更する必要がある場合に遭遇します.
例えばこのようなdcoker-compose.ymlとDockerfileの組み合わせ
dockerドキュメントを表示します.docker-composeについて説明します.ymlでextraを設定できますhostsはhostsを拡張します.
しかし、私はどのようにテストしても、効果はありません.不思議ですね.-
Dockerfileでテストして出力できます
この問題を解決するには、2つの方法があります.
一、hostsの修正とインストールをshellスクリプトに書き、ADDをコンテナに書き、実行する.
二、&&オペレータを使用してDockerfileで同じRUNコマンドを実行する
例えばこのようなdcoker-compose.ymlとDockerfileの組み合わせ
#dcoker-compose.yml
version: "3.3"
services:
app-web:
build: ./
image: app-web
ports:
- 4600:4600
container_name: "app-web"
#Dockerfile
FROM node:latest
WORKDIR /usr/src/app/
USER root
COPY ./ ./
RUN npm run install && npm run build
CMD ["npm", "run", "start-dev"]
npm run install
がカスタムhostsに依存する必要がある場合、これは気まずい.dockerドキュメントを表示します.docker-composeについて説明します.ymlでextraを設定できますhostsはhostsを拡張します.
test2:
build: local/test
extra_hosts:
- raw.githubusercontent.com:199.232.68.133
しかし、私はどのようにテストしても、効果はありません.不思議ですね.-
Dockerfileでテストして出力できます
RUN echo '199.232.68.1 aaa.bb.com' >> /etc/hosts
RUN cat /etc/hosts # ,
この問題を解決するには、2つの方法があります.
一、hostsの修正とインストールをshellスクリプトに書き、ADDをコンテナに書き、実行する.
#!/bin/bash
echo '199.232.68.133 aaa.bbb.com' >> /etc/hosts
cat /etc/hosts #
npm install
二、&&オペレータを使用してDockerfileで同じRUNコマンドを実行する
RUN echo '199.232.68.1 aaa.bb.com' >> /etc/hosts && cat /etc/hosts # hosts
RUN cat /etc/hosts # ,hosts