我无法在构建之后启动我的容器,我得到了:
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主机。这也是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
事实是此命令在Mac OS上成功运行..
答案 0 :(得分:8)
在使用CMD
集成并调用shell脚本时,我得到了这个内容,该脚本在我的容器中有Windows换行符(CR + LF)。
转换为Linux行结尾(仅限LF)并重建容器后,它会很好地开始。
答案 1 :(得分:-1)
docker run语法是 来自https://docs.docker.com/reference/commandline/cli/#run
docker run [OPTIONS] IMAGE [COMMAND] [ARG ...]
由于ogc-mysql不是图像或命令,因此失败
你可以发布
的结果吗?docker ps -a
答案 2 :(得分:-8)
问题解决了,这是sh文件中的行结束问题......