Mysql Docker无法启动没有此类文件或目录的容器

Mysql Docker无法启动没有此类文件或目录的容器,mysql,linux,ubuntu,boot2docker,Mysql,Linux,Ubuntu,Boot2docker,生成后,我无法启动容器,我得到: Error response from daemon: Cannot start container ogc-mysql: no such file or directory Error: failed to start one or more containers 这是我的Docker文件: FROM ubuntu:latest MAINTAINER Davin Kevin # Install latest updates RUN apt-get upd

生成后,我无法启动容器,我得到:

Error response from daemon: Cannot start container ogc-mysql: no such file or directory
Error: failed to start one or more containers
这是我的Docker文件:

FROM ubuntu:latest

MAINTAINER Davin Kevin

# Install latest updates
RUN apt-get update
RUN apt-get upgrade -y

# Install mysql client and server
RUN apt-get -y install mysql-client mysql-server curl

# Enable remote access (default is localhost only, we change this
# otherwise our database would not be reachable from outside the container)
RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf

# Install database
ADD ./database.sql /var/db/database.sql

# Set Standard settings
ENV user ogc
ENV password ogc
ENV url file:/var/db/database.sql
ENV right READ

# Install starting script
ADD ./start-database.sh /usr/local/bin/start-database.sh
RUN chmod +x /usr/local/bin/start-database.sh

EXPOSE 3306

CMD ["/usr/local/bin/start-database.sh"]
我的sh脚本只执行以下操作:

docker build -t ogc-mysql .
docker run --name ogc-mysql -d -p 3306:3306 ogc-mysql
并参考Docker文档:

docker build将返回无此类文件或目录错误,如果文件 或目录在上载的上下文中不存在。这可能会发生 如果没有上下文,或者您指定的文件位于 主机系统。上下文仅限于当前目录和 它的孩子出于安全原因,并确保可重复构建在 远程Docker主机。这也是为什么添加../文件将不会被删除的原因 工作

此命令:docker ps-a返回:

CONTAINER ID : 70..
IMAGE : ogc-sql:latest
COMMAND : "/usr/local/bin/star"
CREATED : 13 seconds ago
STATUS : /
PORTS : /
NAMES : ogc-mysql
事实上,此命令在Mac OS上成功运行。

docker运行语法为 从

docker run[选项]图像[命令][参数…]

由于ogc mysql不是一个映像或命令,因此失败

你能把考试结果贴出来吗

docker ps -a 
docker运行语法是 从

docker run[选项]图像[命令][参数…]

由于ogc mysql不是一个映像或命令,因此失败

你能把考试结果贴出来吗

docker ps -a 

问题解决了,这是sh文件中的行尾问题

问题已解决,这是sh文件中的行尾问题

我是在使用CMD集成和调用shell脚本时得到这个消息的,该脚本在我的容器中有Windows换行符CR+LF


在转换为Linux line endings LF only并重建容器之后,它会很好地启动。

我在使用CMD集成和调用shell脚本时得到了这个结果,该脚本在我的容器中有Windows line breaks CR+LF


在转换为Linux line endings LF only并重建容器后,它将开始正常运行。

如果您澄清了line ending的问题所在,可能会有所帮助。正确。。如果你能澄清什么是行尾问题,那可能会有帮助。。那会有帮助的