«Официальный» образ nginx имеет определенный путь для поиска файлов. Вы можете либо скопировать файл в образ, создав из него новый образ, либо смонтировать файлы по этому пути как том.
Для копирования файлов создайте папку с вашим
nicholas@mordor:~$
nicholas@mordor:~$ lynx http://localhost/ --dump
hello nginx docker world
nicholas@mordor:~$
and a
root@mordor:~#
root@mordor:~# sudo docker run --name docker-nginx -p 80:80 -d nginx
29b4280504c2d46c10b8459de0844ba30bce0c1bc97b70521c3f812f29d17c27
root@mordor:~#
root@mordor:~# docker cp index.html docker-nginx:/indx.html
root@mordor:~#
root@mordor:~# docker exec -it docker-nginx bash
root@29b4280504c2:/#
root@29b4280504c2:/# ls
bin dev docker-entrypoint.sh home lib media opt root sbin sys usr
boot docker-entrypoint.d etc indx.html lib64 mnt proc run srv tmp var
root@29b4280504c2:/#
root@29b4280504c2:/# cd /usr/share/nginx/html/
root@29b4280504c2:/usr/share/nginx/html#
root@29b4280504c2:/usr/share/nginx/html# ls
50x.html index.html
root@29b4280504c2:/usr/share/nginx/html#
root@29b4280504c2:/usr/share/nginx/html# mv index.html index.html.bkup
root@29b4280504c2:/usr/share/nginx/html#
root@29b4280504c2:/usr/share/nginx/html# cp /indx.html ./index.html
root@29b4280504c2:/usr/share/nginx/html#
root@29b4280504c2:/usr/share/nginx/html# exit
exit
root@mordor:~#
root@mordor:~# docker container list
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
29b4280504c2 nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp docker-nginx
root@mordor:~#
root@mordor:~# docker stop docker-nginx
docker-nginx
root@mordor:~#
root@mordor:~# docker start docker-nginx
docker-nginx
root@mordor:~#
это выглядит так:
http://localhost:8080/index.html
Затем создайте новый образ с помощью
index.html
Чтобы запустить контейнер с вашими собственными файлами в качестве тома, вы можете запустить его следующим образом:
docker run -p 8080:80 -v ${PWD}:/usr/share/nginx/html nginx
Все файлы в вашей текущей папке (включая
docker build -t my-nginx .
) will now be available via
FROM nginx
COPY index.html /usr/share/nginx/html
.
Большая часть этой информации содержится в документации к изображению по адресу https://hub.docker.com/_/nginx