Docker无法启动容器没有这样的文件或目录

een*_*nto 2 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
Run Code Online (Sandbox Code Playgroud)

这是我的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"]
Run Code Online (Sandbox Code Playgroud)

我的sh脚本只做:

docker build -t ogc-mysql .
docker run --name ogc-mysql -d -p 3306:3306 ogc-mysql
Run Code Online (Sandbox Code Playgroud)

并重申Docker文档:

如果上载的上下文中不存在文件或目录,则docker build将返回no file或directory错误.如果没有上下文,或者您指定了主机系统上其他位置的文件,则可能会发生这种情况.出于安全原因,上下文仅限于当前目录(及其子目录),并确保在远程Docker主机上可重复构建.这也是ADD ../file不起作用的原因.

这个命令:docker ps -a返回:

CONTAINER ID : 70..
IMAGE : ogc-sql:latest
COMMAND : "/usr/local/bin/star"
CREATED : 13 seconds ago
STATUS : /
PORTS : /
NAMES : ogc-mysql
Run Code Online (Sandbox Code Playgroud)

事实是这个命令在Mac OS上成功运行..

Hen*_*ger 8

我在集成和调用CMD我的容器中有Windows换行符(CR + LF)的shell脚本时得到了这个.

在转换为Linux行结尾(仅限LF)并重建容器之后,它会很好地开始.