Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can not start containers in macOS Mojave 10.14.1 #424

Closed
6 tasks done
d4rkm1nd54 opened this issue Nov 12, 2018 · 9 comments
Closed
6 tasks done

Can not start containers in macOS Mojave 10.14.1 #424

d4rkm1nd54 opened this issue Nov 12, 2018 · 9 comments

Comments

@d4rkm1nd54
Copy link

d4rkm1nd54 commented Nov 12, 2018

ISSUE TYPE

  • Bug Report

Checklist

.env file:

###
###  ---------------------------------------------------
###  D E V I L B O X   R U N - T I M E   S E T T I N G S
###  ---------------------------------------------------
###
###  All the following settings are applied during
###  $ docker-compose up
###
###  No need to rebuild any dockers!
###
###  For custom variables, scroll to the bottom
###


###
### Show all executed commands in each
### docker image during docker-compose up?
###
### 1: Yes
### 0: No
DEBUG_COMPOSE_ENTRYPOINT=1


###
### Log to file or Docker logs.
###
### Logging to file means log files are available under log/
### on your host operating system.
### Logging to Docker logs means log files are streamed to
### stdout and stderr.
###
### 1: Log to Docker logs
### 0: Log to file
###
DOCKER_LOGS=0


###
### Relative or absolute path to the devilbox repository.
### (Used as a prefix for all mount paths)
### There is no need to change this.
###
### The only exception is for OSX users wanting to use NFS
### mounts instead of Filesystem mounts due to degraded performance
### on OSX.
###
### Note: When changing this variable you must re-create the container.
###       Simply remove it, it will be auto-created during the next start:
###
### $ docker-compose rm -f
###
DEVILBOX_PATH=.


###
### At what IP address should the docker services listen
### on the Host computer?
###
### The specified default should be fine for Linux and OSX (127.0.0.1:).
### If you are on windows, you will probably have to change
### it to the IP address of the docker machine.
###
### a.) Leave blank, to listen on all interfaces (no trailing color ':')
###    LOCAL_LISTEN_ADDR=
### b.) If an IP is specified, note the trailing colon ':'
###    LOCAL_LISTEN_ADDR=127.0.0.1:
###
LOCAL_LISTEN_ADDR=


###
### This is the domain suffix your projects will be made available
### with mass-virtual-hosting.
### It is also required for the internal DNS server to be setup.
###
### Note: Only ALPHA ([a-zA-Z]+) characters are supported.
###
### Example:
###   TLD_SUFFIX=loc
### Makes your project available under xxxx.loc
###
### Example:
###   TLD_SUFFIX=local
### Makes your project available under xxxx.local
###
TLD_SUFFIX=loc


###
### Optional DNS configuration
### Allows you to add extra DNS records (above the wildcard entry)
### Useful if your host computer run other Docker services that you want to connect to or reach
### from within the Devilbox network by a custom hostname.
###
### Format:
### -------
### Resolve any custom defined hostname to an IP address (useable inside container and host os)
###     EXTRA_HOSTS=<hostname>=<ip>[,<hostname>=<ip>]
###
### Resolve any custom defined hostname to whatever IP address a CNAME resolves to
### (Useable inside the container and host OS).
### Note: CNAME must be resolvable by Google DNS
###     EXTRA_HOSTS=<hostname>=<CNAME>[,<hostname>=<CNAME>]
###
### Examples:
### ---------
### EXTRA_HOSTS=hostname.loc=1.2.3.4
### EXTRA_HOSTS=host.loc=1.2.3.4,host.example.org=3.4.5.6
EXTRA_HOSTS=


###
### Set your user id and group id
###
### This should be changed to the value of your local
### users uid and gid
###
### Type `id` on the terminal to find out your values
###
NEW_UID=501
NEW_GID=20


###
### Timezone for all dockers and service config files
###
TIMEZONE=Europe/Madrid




################################################################################
###
### INTRANET SETTINGS
###
################################################################################

###
### TLD_SUFFIX domains are checked if they are set in the
### host computer /etc/hosts or available via attached DNS server.
### Timeout is done on vhosts.php (intranet) via ajax calls.
### In order to keep performance, set this to a low value.
### DNS checks might not succeed in time on slow machines.
### If DNS is valid, but timeout is expired, set this to a higher value.
###
### DNS_CHECK_TIMEOUT value is how many seconds to time out
### Default is to timeout after 1 second (DNS_CHECK_TIMEOUT=1)
###
DNS_CHECK_TIMEOUT=1


###
### Devilbox UI SSL Certificate generation
###
### When using SSL each certificate requires names for which it is responsible:
### Common Name as well as alternative names.
###
### Specify comma separated hostnames below by which you want to access the Devilbox.
### Those hostnames will be included in the SSL certificate for the Devilbox intranet.
### This has nothing to do for SSL certificates for projects, it is just for the intranet
### itself.
###
DEVILBOX_UI_SSL_CN=localhost,*.localhost,devilbox,*.devilbox


###
### Devilbox UI Password protection enable/disable (1/0)
###
### Set DEVILBOX_UI_PROTECT to 1 in order to password protect the
### intranet.
###
### Example:
###   DEVILBOX_UI_PROTECT=1
###   DEVILBOX_UI_PROTECT=0
###
DEVILBOX_UI_PROTECT=0


###
### Devilbox UI Password
###
### When DEVILBOX_UI_PROTECT=1, use the following password
### to log in. The password can always be changed.
### When changing the password, make sure to restart your
### PHP container.
###
### Example:
###   DEVILBOX_UI_PASSWORD=my-very-secure-password
###   DEVILBOX_UI_PASSWORD=Some pass with spaces
###
### The default username is 'devilbox'
###
DEVILBOX_UI_PASSWORD=password


###
### Enable the Devilbox Intranet?
###
### Example:
###   DEVILBOX_UI_ENABLE=1
###   DEVILBOX_UI_ENABLE=0
###
DEVILBOX_UI_ENABLE=1



################################################################################
###
### 1. Choose Images (Version)
###
################################################################################

###
### You can choose any combination of httpd, mysql, postgresql or php.
### Each of them are fully compatible between one another.
###


###
### 1.1 Choose PHP Server Image
###
### Note: PHP 5.2 is not officially supported. Intranet won't work (due to lack of namespace support).
###       PHP 5.2 only works with Apache 2.4, Nginx stable and Nginx mainline.
###       Use at your own risk.
###
#PHP_SERVER=5.2
#PHP_SERVER=5.3
#PHP_SERVER=5.4
#PHP_SERVER=5.5
#PHP_SERVER=5.6
PHP_SERVER=7.0
#PHP_SERVER=7.1
#PHP_SERVER=7.2
#PHP_SERVER=7.3
#PHP_SERVER=7.4


###
### 1.2 Choose HTTPD Server Image
###
#HTTPD_SERVER=apache-2.2
HTTPD_SERVER=apache-2.4
#HTTPD_SERVER=nginx-stable
#HTTPD_SERVER=nginx-mainline


###
### 1.3 Choose MySQL Server Image
###
#MYSQL_SERVER=mysql-5.5
#MYSQL_SERVER=mysql-5.6
#MYSQL_SERVER=mysql-5.7
#MYSQL_SERVER=mysql-8.0
#MYSQL_SERVER=mariadb-5.5
#MYSQL_SERVER=mariadb-10.0
MYSQL_SERVER=mariadb-10.1
#MYSQL_SERVER=mariadb-10.2
#MYSQL_SERVER=mariadb-10.3
#MYSQL_SERVER=percona-5.5
#MYSQL_SERVER=percona-5.6
#MYSQL_SERVER=percona-5.7


###
### 1.4 Choose PostgreSQL Server Image
###
#PGSQL_SERVER=9.1
#PGSQL_SERVER=9.2
#PGSQL_SERVER=9.3
#PGSQL_SERVER=9.4
#PGSQL_SERVER=9.5
PGSQL_SERVER=9.6
#PGSQL_SERVER=10.0
#PGSQL_SERVER=10.1
#PGSQL_SERVER=10.2
#PGSQL_SERVER=10.3


###
### 1.5 Choose Redis Server Image
###
#REDIS_SERVER=2.8
#REDIS_SERVER=3.0
#REDIS_SERVER=3.2
REDIS_SERVER=4.0
#REDIS_SERVER=5.0-rc


###
### 1.6 Choose Memcached Server Image
###
#MEMCD_SERVER=1.4.21
#MEMCD_SERVER=1.4.22
#MEMCD_SERVER=1.4.23
#MEMCD_SERVER=1.4.24
#MEMCD_SERVER=1.4.25
#MEMCD_SERVER=1.4.26
#MEMCD_SERVER=1.4.27
#MEMCD_SERVER=1.4.28
#MEMCD_SERVER=1.4.29
#MEMCD_SERVER=1.4.30
#MEMCD_SERVER=1.4.31
#MEMCD_SERVER=1.4.32
#MEMCD_SERVER=1.4.33
#MEMCD_SERVER=1.4.34
#MEMCD_SERVER=1.4.35
#MEMCD_SERVER=1.4.36
#MEMCD_SERVER=1.4.37
#MEMCD_SERVER=1.4.38
#MEMCD_SERVER=1.4.39
#MEMCD_SERVER=1.5.0
#MEMCD_SERVER=1.5.1
#MEMCD_SERVER=1.5.2
#MEMCD_SERVER=1.5.3
#MEMCD_SERVER=1.5.4
MEMCD_SERVER=1.5.5
#MEMCD_SERVER=latest


###
### 1.7 Choose Mongo Server Image
###
#MONGO_SERVER=2.8
#MONGO_SERVER=3.0
#MONGO_SERVER=3.2
#MONGO_SERVER=3.4
#MONGO_SERVER=3.5
#MONGO_SERVER=3.6
MONGO_SERVER=3.7



################################################################################
###
### 2. Host Mounts (Your computer)
###
################################################################################

###
### Global mount options
###
### Note: When adding custom mount options, ensure to start with a
###       leading ',' (comma), as those options are prepended to already
###       existing mount options.
###
### Note: If no mount options are specified, leave this variable empty
###       and do not add a leading ',' (comman).
###
### MOUNT_OPTIONS=,cached
### MOUNT_OPTIONS=
###
### Example: Allow to share mounts accross container with SELINUX enabled
###
### MOUNT_OPTIONS=,z
###
MOUNT_OPTIONS=


###
### Local filesystem path to www projects.
###
### Note: When changing this variable you must re-create the container.
###       Simply remove it, it will be auto-created during the next start:
###
### $ docker-compose rm -f
###
HOST_PATH_HTTPD_DATADIR=‎⁨/Users/ruben-duacode/Documents/prueba


###
### Local filesystem path to mysql/mariadb datadir.
###
### This can be an existing mysql data directory or empty.
### If it already is a mysql data directory with content,
### it will be mounted into the docker and used.
###
### If this directory is empty, a new mysql database will be
### created.
###
### Note: Inside this path, a subdirectory with the mysql|mariadb
###       version will be created where the actual data resides.
###       This is to protect databases from being altered by
###       newer or older mysql|mariadb server versions.
###
### Note: When changing this variable you must re-create the container.
###       Simply remove it, it will be auto-created during the next start:
###
### $ docker-compose rm -f
###
HOST_PATH_MYSQL_DATADIR=/Users/ruben-duacode/Documents/proyectos/mysql/


###
### Local filesystem path to postgresql datadir.
###
### This can be an existing postgresql data directory or empty.
### If it already is a postgresql data directory with content,
### it will be mounted into the docker and used.
###
### If this directory is empty, a new postgresql database will be
### created.
###
### Note: Inside this path, a subdirectory with the postgresql
###       version will be created where the actual data resides.
###       This is to protect databases from being altered by
###       newer or older postgres server versions.
###
### Note: When changing this variable you must re-create the container.
###       Simply remove it, it will be auto-created during the next start:
###
### $ docker-compose rm -f
###
HOST_PATH_PGSQL_DATADIR=./data/pgsql


###
### Local filesystem path to mongodb datadir.
###
### This can be an existing mongodb data directory or empty.
### If it already is a mongodb data directory with content,
### it will be mounted into the docker and used.
###
### If this directory is empty, a new mongodb database will be
### created.
###
### Note: When changing this variable you must re-create the container.
###       Simply remove it, it will be auto-created during the next start:
###
### $ docker-compose rm -f
###
HOST_PATH_MONGO_DATADIR=./data/mongo



################################################################################
###
### 3. PHP Docker Settings
###
################################################################################

###
### Enable certain PHP modules which are not enabled by default
###
### Currently the only module that can be enabled is 'ioncube'
###
### PHP_MODULES_ENABLE=ioncube
###
PHP_MODULES_ENABLE=


###
### Disable any PHP modules that you don't require
###
### Specify a comma separated list without spaces of modules to disable
###
### PHP_MODULES_DISABLE=xdebug,imagick,swoole
###
PHP_MODULES_DISABLE=rdkafka,swoole


###
### Configure everything else about PHP in
### * cfg/php-ini-X.X/*.ini
### * cfg/php-fpm-X.X/*.conf



################################################################################
###
### 4. HTTPD Docker Settings
###
################################################################################

###
### Expose HTTPD Port to Host
###
HOST_PORT_HTTPD=80
HOST_PORT_HTTPD_SSL=443


###
### Document Root Subdirectory
###
### In your project directory, which subfolder should
### serve your files?
###
### When changing this value, restart the devilbox.
###
HTTPD_DOCROOT_DIR=htdocs


###
### Per vHost Config Subdirectory
###
### In your project directory, which subfolder should
### hold apache, nginx templates for a customized vhost?
###
### When changing this value, restart the devilbox.
###
HTTPD_TEMPLATE_DIR=.devilbox


###
### Webserver timeout (in seconds) to upstream PHP-FPM server
###
### This value should be greater than PHP's max_execution_time,
### otherwise the php script could still run and the webserver will
### simply drop the connection before getting an answer by PHP.
###
HTTPD_TIMEOUT_TO_PHP_FPM=180



################################################################################
###
### 5. MySQL Docker Settings
###
################################################################################

###
### MySQL root user password
###
### If $HOST_PATH_MYSQL_DATADIR already contains an existing
### mysql datadir, enter the password for the existing mysql database
###
### If $HOST_PATH_MYSQL_DATADIR is empty, choose a new password that
### will be applied
###
MYSQL_ROOT_PASSWORD=


###
### Custom MySQL Runtime Settings
###
MYSQL_GENERAL_LOG=0


###
### Expose MySQL Port to Host
###
HOST_PORT_MYSQL=3306



################################################################################
###
### 6. PostgreSQL Docker Settings
###
################################################################################

###
### PostgreSQL 'root' user name (usually postgres)
###
PGSQL_ROOT_USER=postgres


###
### PostgreSQL 'root' user password
###
PGSQL_ROOT_PASSWORD=


###
### Expose PostgreSQL Port to Host
###
HOST_PORT_PGSQL=5432



################################################################################
###
### 7. Redis Docker Settings
###
################################################################################

###
### Expose Redis Port to Host
###
HOST_PORT_REDIS=6379


###
### Custom startup arguments
###
### Apply custom startup arguments to redis
###
### Example: Password protection
###   Add password protection to the Redis server by specifying it should
###   require a password.
###   Note: Do not add quotes or spaces to the password
###
###   REDIS_ARGS=--requirepass my-redis-root-password
###
### Example: Verbosity
###
###   REDIS_ARGS=--loglevel verbose
###
REDIS_ARGS=
#REDIS_ARGS=--loglevel verbose --requirepass my-redis-root-password



################################################################################
###
### 8. Memcached Docker Settings
###
################################################################################

###
### Expose Memcached Port to Host
###
HOST_PORT_MEMCD=11211



################################################################################
###
### 9. MongoDB Docker Settings
###
################################################################################

###
### Expose MongoDB Port to Host
###
HOST_PORT_MONGO=27017



################################################################################
###
### 10. Bind Docker Settings
###
################################################################################

###
### Expose Bind Port to Host
###
HOST_PORT_BIND=1053

###
### Add comma separated DNS server from which you want to receive DNS
### You can also add DNS servers from your LAN (if any are available)
###
BIND_DNS_RESOLVER=8.8.8.8,8.8.4.4

###
### Validate DNSSEC
###
### Values:
###  no:    DNSSEC validation is disabled
###  yes:   DNSSEC validation is enabled, but a trust anchor must be manually configured.
###  auto:  DNSSEC validation is enabled, and a default trust anchor for root zone is used.
###
BIND_DNSSEC_VALIDATE=no


###
### Bind timing options (time in seconds)
###
### Leave empty for defaults.
### Only change when you know what you are doing.
###
BIND_TTL_TIME=
BIND_REFRESH_TIME=
BIND_RETRY_TIME=
BIND_EXPIRY_TIME=
BIND_MAX_CACHE_TIME=


###
### Show DNS Queries in Docker logs output?
###
### 1: Yes
### 0: No
BIND_LOG_DNS_QUERIES=0



################################################################################
###
### 11. Custom variables
###
################################################################################

###
### Any variable defined in this file will be available
### as environment variables to your PHP/HHV Docker container.
###
### This might be useful to set application environment and retrieve
### them via: <?php getenv('MY_APPLICATION_ENV'); ?>
###


###
### Example:
### <?php echo getenv('Foo'); ?> would produce: 'some value'
###
#Foo=some value

OS / ENVIRONMENT

  1. Host operating system and version: macOS Mojave 10.14.1
  2. (Windows) Native Docker or Docker Toolbox:
  3. Docker version: 18.06.1-ce-mac73
  4. Docker Compose version: 1.22.0
  5. (Linux) Is SELinux enabled?:
  6. What git commit hash are you on?: 208cd03

SUMMARY

With a fresh install of devilbox, can not start it with docker-compose up httpd mysql php

I get the error:

ERROR: Named volume "‎⁨/Users/username/Documents/prueba:/shared/httpd:rw" is used in service "php" but no declaration was found in the volumes section.

Any other command with docker-compose fails with the same error (docker-compose down, stop, kill, rm...)

STEPS TO REPRODUCE

Fresh install following https://github.com/cytopia/devilbox#quick-start instructions and try to start containers with docker-compose up

EXPECTED BEHAVIOUR

Containers start properly

ACTUAL BEHAVIOUR

The httpd container does not start

OTHER INFORMATION

Start command

$ docker-compose up httpd php mysql

File and user permissions (Linux & MacOS)

$ id
uid=501(ruben-duacode) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),701(com.apple.sharepoint.group.1)
$ ls -la
total 264
drwxr-xr-x  28 username  staff    896 12 nov 14:27 .
drwx------+ 18 username  staff    576 12 nov 14:23 ..
drwxr-xr-x   5 username  staff    160 12 nov 13:29 .devilbox
-rw-r--r--   1 username  staff  16573 12 nov 14:23 .env
drwxr-xr-x  15 username  staff    480 12 nov 14:27 .git
drwxr-xr-x   4 username  staff    128 12 nov 13:29 .github
-rw-r--r--   1 username  staff   2960 12 nov 13:29 .gitignore
drwxr-xr-x   4 username  staff    128 12 nov 13:29 .tests
-rw-r--r--   1 username  staff   5617 12 nov 13:29 .travis.yml
-rw-r--r--   1 username  staff    894 12 nov 13:29 CONTRIBUTING.md
-rw-r--r--   1 username  staff   1064 12 nov 13:29 LICENSE.md
-rw-r--r--   1 username  staff  38550 12 nov 13:29 README.md
drwxr-xr-x@  4 username  staff    128 12 nov 13:35 backups
drwxr-xr-x   4 username  staff    128 12 nov 13:29 bash
drwxr-xr-x   3 username  staff     96 12 nov 13:29 ca
drwxr-xr-x  39 username  staff   1248 12 nov 13:29 cfg
drwxr-xr-x   8 username  staff    256 12 nov 13:29 compose
drwxr-xr-x   7 username  staff    224 12 nov 13:29 data
-rw-r--r--   1 username  staff    743 12 nov 13:29 docker-compose.override.yml-example
-rw-r--r--   1 username  staff  12666 12 nov 14:27 docker-compose.yml
drwxr-xr-x  36 username  staff   1152 12 nov 14:27 docs
-rw-r--r--@  1 username  staff  16508 12 nov 13:29 env-example
drwxr-xr-x   4 username  staff    128 12 nov 13:35 log
drwxr-xr-x@  4 username  staff    128 12 nov 13:35 mail
drwxr-xr-x   9 username  staff    288 12 nov 13:29 mod
-rw-r--r--   1 username  staff     86 12 nov 13:29 shell.bat
-rwxr-xr-x   1 username  staff     59 12 nov 13:29 shell.sh
-rwxr-xr-x   1 username  staff   2375 12 nov 13:29 update-docker.sh
$ ls -la data/www

Empty folder

@cytopia
Copy link
Owner

cytopia commented Nov 17, 2018

There seems to be an issue with Docker 18.06.1-ce, also reported by others here: #374

I would suggest to downgrade Docker back to 18.06.0-ce

@cytopia
Copy link
Owner

cytopia commented Feb 12, 2019

@d4rkm1nd54 could you try out the release branch: #416 Please pay special attention to the instructions in the PR description.

@cytopia
Copy link
Owner

cytopia commented Mar 8, 2019

@d4rkm1nd54 any updates from your side?

@cytopia
Copy link
Owner

cytopia commented Mar 18, 2019

@d4rkm1nd54 see also here: #542

@cytopia cytopia removed the mysql label Mar 18, 2019
@cytopia
Copy link
Owner

cytopia commented Mar 18, 2019

@d4rkm1nd54 from what I've seen, this is not related to MySQL, but to the custom paths you've applied in .env. Can you revert all HOST_PATH_*_DATADIR values to normal and see if this works.

@cytopia cytopia modified the milestones: 1.0, 1.1 Mar 19, 2019
@dvlbot
Copy link
Collaborator

dvlbot commented Mar 23, 2019

Stale issue

This issue was marked with waiting for reply and did not receive an answer for a long time. If the requested information is not provided, it will be auto-closed.

Beep beep, I am a bot - do not reply to me.

@dvlbot dvlbot added the issue:stale This issue has become stale and is marked for auto-close label Mar 23, 2019
@NathanReus
Copy link

Have just come back to Devilbox after a couple months of not using it, pulled the latest commits and found that I'm encountering this same issue. Seeing it on Windows 10 with Docker 18.09.2 and on Arch Linux with Docker 18.09.5-ce.

@cytopia have you been able to confirm that reverting all HOST_PATH_*_DATADIR values to default fixes the issue?

@cytopia
Copy link
Owner

cytopia commented Apr 23, 2019

@leprichaun

Can you confirm that this issue still persists after:

# Stop container
docker-compose stop
docker-compose rm -f

# Get latest changes
git checkout master
git pull origin master

# Get new .env file
cp env-example .env

# Start container
docker-compose up

Also note that HOST_PATH_*_DATADIR defines have been removed as they're now using Docker volumes

@stale stale bot closed this as completed Apr 30, 2019
@cytopia cytopia reopened this Apr 30, 2019
@stale stale bot removed the issue:stale This issue has become stale and is marked for auto-close label Apr 30, 2019
@cytopia cytopia added issue:stale This issue has become stale and is marked for auto-close and removed issue:stale This issue has become stale and is marked for auto-close labels Apr 30, 2019
@stale
Copy link

stale bot commented Jun 29, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the issue:stale This issue has become stale and is marked for auto-close label Jun 29, 2019
@stale stale bot closed this as completed Jul 6, 2019
@cytopia cytopia added waiting for reply and removed issue:stale This issue has become stale and is marked for auto-close labels Nov 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants