不幸的是,将我的Mac更新到 Catalina 后,出现错误:
ERROR: for app Cannot start service app: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"rootfs_linux.go:58: mounting \\\"/Users/maciejtrzcinski/Sites/docker/openinvest/config/apache/.htaccess\\\" to rootfs \\\"/mnt/sda1/var/lib/docker/overlay2/a088def6294f3c190633026f8d28b68bc6a6eb5cbca33f2dcf7272d716a54ba5/merged\\\" at \\\"/mnt/sda1/var/lib/docker/overlay2/a088def6294f3c190633026f8d28b68bc6a6eb5cbca33f2dcf7272d716a54ba5/merged/var/www/html/.htaccess\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
YML文件:
version: "3"
services:
app:
image: wordpress:5.1.1-php7.2
depends_on:
- mariadb
env_file:
- .env
volumes:
- ./log/apache2:/var/log/apache2
- ./config/apache/.apache:/var/www/html/.apache
- ./wp-content:/var/www/html/wp-content
ports:
- 80:80
mariadb:
image: mariadb:10
volumes:
- ./data/mariadb:/var/lib
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: ${WORDPRESS_DB_PASSWORD}
MYSQL_DATABASE: ${WORDPRESS_DB_NAME}
MYSQL_USER: ${WORDPRESS_DB_USER}
MYSQL_PASSWORD: ${WORDPRESS_DB_PASSWORD}
我正在尝试使用- ./config/apache/:/var/www/html/
,但这也不起作用。
有人知道问题出在哪里吗?
答案 0 :(得分:1)
我删除了旧容器并添加了一个新容器并开始工作。
docker-machine remove [old]
docker-machine create [new]
eval $(docker-machine env [new])
docker-compose up
答案 1 :(得分:0)
在 Ubuntu 18.04 上的 Rails 应用程序上工作时,我遇到了类似的问题。我使用Dockerfile
和docker-compose.yml
来设置应用程序。
这是我遇到的错误:
我以前是使用docker-compose build
构建映像的,所以我不再运行docker-compose build
了,但是,当我运行命令docker-compose up
来启动容器时, s),出现此错误:
错误:对于mailing_list_app_1无法启动服务应用程序:OCI运行时创建失败:container_linux.go:349:启动容器进程导致“ exec:\”。/entrypoints / rails-entrypoint.sh \”:stat ./entrypoints/rails -entrypoint.sh:没有这样的文件或目录”:未知
错误:针对应用程序无法启动服务应用程序:OCI运行时创建失败:container_linux.go:349:启动容器进程导致“ exec:\”。/entrypoints / rails-entrypoint.sh \”:stat ./entrypoints/rails -entrypoint.sh:没有这样的文件或目录“:未知 错误:启动项目时遇到错误。
问题是我将文件/entrypoints/rails-entrypoint.sh
移动并重命名为docker/entrypoints/docker-entrypoint.sh
。
因此,当我运行命令docker-compose up
来启动容器时,它会失败,因为它无法再找到/entrypoints/rails-entrypoint.sh
文件。
这是我的解决方法:
通过运行命令为项目重建图像。这会将新文件(docker/entrypoints/docker-entrypoint.sh
)复制到新映像中,并删除指向旧文件(/entrypoints/rails-entrypoint.sh
)的链接:
docker-compose build
然后使用新建的映像再次启动容器:
docker-compose up
仅此而已。
我希望这会有所帮助