使用Laradock运行docker-compose up -d后,错误无法启动服务

时间:2018-10-16 08:28:15

标签: laravel docker docker-compose laradock

我刚刚在Mac OSX 10.13.6 High Sirra上第一次运行docker-compose up -d nginx mysql redis来安装docker。看来我

  

警告:已为服务nginx构建图像,因为该图像尚未生成   存在。要重建此图像,您必须使用docker-compose build或   docker-compose up --build。创建laradock_docker-in-docker_1 ...   错误创建laradock_mysql_1 ...创建   laradock_workspace_1 ...创建laradock_redis_1
  ...

     

创建laradock_mysql_1 ...错误X,并且未知   Docker。\ r \ n您可以从Docker配置共享路径->   首选项...->文件共享。\ r \ n请参阅   https://docs.docker.com/docker-for-mac/osxfs/#namespaces了解更多   信息。\ r \ n。'

     

错误:对于laradock_mysql_1无法启动服务mysql:b'Mounts   拒绝:\ r \ n路径   /Applications/MAMP/htdocs/community-messenger/laradock/mysql/docker-entrypoint-initdb.d\r\nis   laradock_workspace_1 ...错误fs /#namespaces了解更多   信息。\ r \ n。'

     

错误:对于laradock_workspace_1无法启动服务工作空间:   b'Mounts拒绝:\ r \ n路径   / Applications / MAMP / htdocs / community-messenger \ r \ nis未从操作系统共享   X,而Docker不知道。\ r \ n您可以从以下位置配置共享路径   Docker->首选项...->文件共享。\ r \ n请参阅   https://docs.docker.com/docker-for-mac/osxfs/#namespaces了解更多   信息。\ r \ n。创建laradock_redis_1 ...完成

     

错误:对于docker-in-docker无法启动服务docker-in-docker:   b'Mounts拒绝:\ r \ n路径   / Applications / MAMP / htdocs / community-messenger \ r \ nis未从操作系统共享   X,而Docker不知道。\ r \ n您可以从以下位置配置共享路径   Docker->首选项...->文件共享。\ r \ n请参阅   https://docs.docker.com/docker-for-mac/osxfs/#namespaces了解更多   信息。\ r \ n。'

     

错误:对于mysql无法启动服务mysql:b'Mounts拒绝:\ r \ n   路径   /Applications/MAMP/htdocs/community-messenger/laradock/mysql/docker-entrypoint-initdb.d\r\nis   不能从OS X共享并且Docker不知道。\ r \ n您可以配置   从Docker共享路径->首选项...->文件共享。\ r \ n请参阅   https://docs.docker.com/docker-for-mac/osxfs/#namespaces了解更多   信息。\ r \ n。'

     

错误:用于工作空间无法启动服务工作空间:b'安装被拒绝:   \ r \ n路径/ Applications / MAMP / htdocs / community-messenger \ r \ nis不   从OS X共享并且Docker不知道。\ r \ n您可以配置   从Docker共享路径->首选项...->文件共享。\ r \ n请参阅   https://docs.docker.com/docker-for-mac/osxfs/#namespaces了解更多   信息。\ r \ n。”错误:启动项目时遇到错误。

据我所知,这告诉我需要将/Applications/MAMP/htdocs/添加到Docker> Preferences> File Sharing。我尝试过仍然出现类似错误。

我仅将/Applications/MAMP/htdocs/用作使我的项目变得不习惯的地方,而实际上并未启动或使用MAMP。是否可以通过仅移动文件来解决此问题?

我还发现我在后台运行MySQL,因此我将其关闭,重新启动docker并以类似错误重新运行docker-compose up -d nginx mysql redis

修改

我将/Applications/MAMP/htdocs/community-messenger添加到了Docker> Preferences> File Sharing,现在遇到一个新错误:

  

启动laradock_workspace_1 ...完成启动   laradock_mysql_1 ...完成启动laradock_redis_1
  ...完成启动laradock_docker-in-docker_1 ...完成创建   laradock_php-fpm_1 ...完成创建laradock_nginx_1
  ...错误

     

错误:对于laradock_nginx_1无法启动服务nginx:驱动程序失败   在端点laradock_nginx_1上编程外部连接   (000b8e0f3a128f87e88d9faaff8b9dcf6d999e0a04a256763b8aef953eeebd35):   启动Userland代理时出错:绑定0.0.0.0:443:意外错误   (EADDRINUSE失败)

     

错误:对于nginx无法启动服务nginx:驱动程序失败   在端点laradock_nginx_1上编程外部连接   (000b8e0f3a128f87e88d9faaff8b9dcf6d999e0a04a256763b8aef953eeebd35):   启动Userland代理时出错:绑定0.0.0.0:443:意外错误   (失败EADDRINUSE)错误:在启动时遇到错误   项目。

3 个答案:

答案 0 :(得分:0)

运行docker-compose时,您应该只有一个 docker-compose.yml 文件,该文件定义要运行的容器。而且,您只需键入docker-compose up -d,而无需再次指定容器。

您的另一个问题是您定义的mappings在主机OS(Mac OS)上不存在。您应该在此处创建它们,更改位置或从docker-compose.yml中删除映射。

答案 1 :(得分:0)

我看到您正在使用Laradock。如错误所述,您应该转到“ Docker->首选项...->文件共享”并共享以下路径:

/Applications/MAMP/htdocs/community-messenger

答案 2 :(得分:0)

对于我的情况,这可行:

docker-compose stop

// Stop and remove containers, networks, images, and volumes !!
docker-compose down

docker-compose up -d nginx mysql phpmyadmin redis workspace elasticsearch