Команда docker exec не работает?

Я новичок в Docker Concept, я только сегодня начал с ним играть. И я обнаружил команду exec, задача которой - запустить новую команду в работающем контейнере.

Я нахожусь в каталоге ~/linux-tweet-app, который содержит файлы index-original.html и index.html. Мой контейнер запущен:

 docker container run \
 --detach \
 --publish 80:80 \
 --name linux_tweet_app \
 --mount type=bind,source = "$(pwd)",target=/usr/share/nginx/html \
 $DOCKERID/linux_tweet_app:1.0

Моя задача - скопировать содержимое index-original.html в index.html. Поскольку я использую привязку на хосте докеров, это работает:

 cp index-new.html index.html

и изменения отразились,

Но при этом с exec:

docker exec -it linux_tweet_app cp index-original.html index.html

Получила следующую ошибку: Команда docker exec не работает?

Я не могу понять, что происходит? Любая помощь будет признательна этому новичку

Спасибо.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
0
837
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это потому, что вам нужно использовать полный путь внутри контейнера, поэтому это должно сработать:

docker exec -it linux_tweet_app cp /usr/share/nginx/html/index-original.html /usr/share/nginx/html/index.html

Вы также можете указать WORKDIR в Dockerfile и установить для него / usr / share / nginx / html

Другие вопросы по теме