我有一个正式的MySQL容器。我知道
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似乎存在。
谢谢
发布于 2015-08-15 16:45:11
你觉得这到底是在做什么?
sudo tar -c ~/Desktop/mysql.tar | docker importsudo,因为您只是在主目录中创建了这个文件。tar -c,您将创建一个新的tar存档,其内容为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"]https://stackoverflow.com/questions/32026562
复制相似问题