2015-08-15 1 views
0

У меня есть официальный контейнер MySQL. ЯDocker - Не удалось запустить контейнер из импортированного изображения с точкой входа

docker export <cont_name> > ~/Desktop/mysql.tar 

Далее я

sudo tar -c ~/Desktop/mysql.tar | docker import --change "ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" --change "ENV MYSQL_MAJOR 5.7" --change "ENV MYSQL_VERSION 5.7.8-rc" --change "ENTRYPOINT [\"/entrypoint.sh\"]" --change "EXPOSE 3306" --change "VOLUME /var/lib/mysql" --change "CMD [\"mysqld\"]" - mysql:kyriakos 

и, наконец,

docker run --env "MYSQL_ROOT_PASSWORD=root" --name mysql_kyr mysql:kyriakos 

и я получаю

exec: "/entrypoint.sh": stat /entrypoint.sh: no such file or directory 
Error response from daemon: Cannot start container a15613493ee94a159ff0821974742350ae5df26b0f659932dc7cb3264295e944: [8] System error: exec: "/entrypoint.sh": stat /entrypoint.sh: no such file or directory 

Я делаю что-то не так с импортом? В .tar файл /entrypoint.sh, кажется, существует ..

Спасибо

ответ

5

Что именно вы думаете, что это делает?

sudo tar -c ~/Desktop/mysql.tar | docker import 
  • вам не нужно sudo, потому что вы только что создали этот файл в вашем домашнем каталоге.
  • Это уже tar файл. При использовании tar -c вы создаете новый архив , содержание которого mysql.tar. Вы передаете это docker import.
  • Это дает изображение, которое содержит один файл, mysql.tar, так что, конечно, вы получаете сообщение об ошибке /entrypoint.sh не существует.

Я думаю, что вы действительно хотите:

docker import --change "ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ 
    --change "ENV MYSQL_MAJOR 5.7" \ 
    --change "ENV MYSQL_VERSION 5.7.8-rc" \ 
    --change "ENTRYPOINT [\"/entrypoint.sh\"]" \ 
    --change "EXPOSE 3306" \ 
    --change "VOLUME /var/lib/mysql" \ 
    --change "CMD [\"mysqld\"]" - mysql:kyriakos < mysql.tar 

А что вы действительно хочу использовать Dockerfile, а не этого странного трубопровода экспорта/импорта.

FROM mysql 

ENV MYSQL_MAJOR 5.7 
ENV MYSQL_VERSION 5.7.8 
ENTRYPOINT ["/entrypoint.sh"] 
EXPOSE 3306 
VOLUME /var/lib/mysql 
CMD ["mysqld"] 
Смежные вопросы