Tôi có một Dockerfile đơn giản nhưng lệnh RUN đầu tiên (để nối thêm một địa chỉ IP máy chủ đến/etc/hosts) không có tác dụngDocker RUN thêm vào/etc/hosts trong Dockerfile không làm việc
FROM dockerfile/java
RUN sudo echo "XX.XX.XXX.XXX some.box.com MyFriendlyBoxName" >> /etc/hosts
ADD ./somejavaapp.jar /tmp/
#CMD java -jar /tmp/somejavaapp.jar
EXPOSE 8280
tôi xây dựng sử dụng
docker build .
và sau đó kiểm tra dòng vang RUN đã làm việc sử dụng
sudo docker run -t -i <built image ID> /bin/bash
tôi sau đó vào thùng chứa nhưng/etc/hosts file chưa được thêm vào. Chạy cùng dòng echo .... trong khi bây giờ trong vùng chứa có hiệu ứng mong muốn
Bất cứ ai có thể cho tôi biết điều gì sai với dockerfile RUN của tôi ...?
Trong Docker '/ etc/hosts' được thực hiện khi chạy (khi bạn sử dụng' docker run'). Những người khác đã sử dụng dnsmasq trong vùng chứa để có các mục bổ sung. Từ 1.2 bạn có thể chỉnh sửa '/ etc/hosts' sau khi chạy, tuy nhiên nó không được lưu trong các cam kết, và nó không thể được thực hiện từ một Dockerfile vì lý do này. –
Cảm ơn câu trả lời của Kevs đã làm việc cho tôi nhưng tôi vẫn nhớ điều này. cổ vũ –