Моей локальной папки выглядит так:Почему я должен использовать команду томов в докер-компоновать
docker-compose.yml
\nginx-proxy
\code
index.html
nginx.conf
Dockerfile
index.html
содержит простой HTML-код. nginx.conf
содержит эту простую конфигурацию:
worker_processes 1;
events {
worker_connections 1024;
}
http {
sendfile on;
server {
listent 80;
root /code;
index index.html;
}
}
Dockerfile
содержит следующие инструкции:
FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
COPY ./code /code
И, наконец, docker-compose
содержит следующие инструкции:
nginx:
build: ./nginx-proxy
container_name: nginx-proxy
ports:
- "8181:80"
Когда я бегу docker-compose up
и перейти к localhost:8181
по какой-то причине Я вижу приветственную страницу nginx (не мой index.html), если, однако, я sl ightly изменить Докер-compose.yml:
nginx:
build: ./nginx-proxy
container_name: nginx-proxy
ports:
- "8181:80"
volumes:
- ./nginx-proxy/code:/code
- ./nginx-proxy/nginx.conf:/etc/nginx/nginx.conf
Итак, мой вопрос, почему я должен указать это volumes
инструкции? Я хотел бы вместо этого использовать мой файл Dockerfile с инструкциями COPY.
Спасибо! Означает ли это, что вся проблема заключается в ключевом ключе этого контекста? Если я добавлю его и удалю тома, будет ли он работать так же, как без контекста и с томами? – Jacobian
Правильно, это должно быть так. Понятно, что ты сделал/думаешь только правильно –
Спасибо! Я проверю его через минуту! – Jacobian