我正在使用以下来自(http://txt.fliglio.com/2013/11/creating-a-mysql-docker-container/)的dockerfile:
来自ubuntu
RUN dpkg-divert --local --rename --add / sbin / initctl
运行ln -s / bin / true / sbin / initctl
RUN echo“deb http://archive.ubuntu.com/ubuntu精确主要宇宙”>的/etc/apt/sources.list
运行apt-get update
运行apt-get upgrade -y
运行apt-get -y安装mysql-client mysql-server
运行sed -i -e“s / ^ bind-address \ s * = \ s * 127.0.0.1 / bind-address = 0.0.0.0/” /etc/mysql/my.cnf
ADD ./startup.sh /opt/startup.sh
EXPOSE 3305
CMD [“/ bin / bash”,“/ opt / startup.sh”]
当我在本地计算机上构建Docker版本0.8时,这没有错误。
我一直在尝试使用可信赖的构建: https://index.docker.io/u/hardingnj/sqlcontainer/
然而在docker服务器上,我遇到第二个RUN命令的错误:
[91mln:无法创建符号链接`/ sbin / initctl':文件存在
[0米
错误:build:命令[/ bin / sh -c ln -s / bin / true / sbin / initctl]返回非零代码:1
我认为Dockerfiles应该独立于上下文工作?也许我提到的ubuntu版本不一样?
答案 0 :(得分:2)
ubuntu图像的版本可能不同。为了非常精确,您可以在FROM语句中提供所需的完整图像ID,例如
# This is the id of the current Ubuntu 13.10 image.
# The tag could move to a different image at a later time.
FROM 9f676bd305a43a931a8d98b13e5840ffbebcd908370765373315926024c7c35e
RUN dpkg-divert --local --rename --add /sbin/initctl
...