Marinus Klasen

Marinus Klasen

  • Development
  • Consultancy
  • Developer Resources
  • Blog
  • Contact

March 31, 2021

Permission issues with docker compose? Here’s a fix.

Marinus Klasen

I’m fairly new to docker-compose but did manage to run all my local development on docker containers recently. I even setup a mini-PC that runs all these environments and allows met to quickly spin up new websites (literally seconds). Oh and did I mention that all of the websites are accessible from any device within the network? The mini-PC also runs a DNS server, and the router is setup to use this DNS server by default.

Honestly – I am so happy with this new setup. I hope to get an Intel NUC soon and redo the full setup while creating a video or blog, but that might take a while.

Anyway, that’s not why you’re here…

While setting up all of these containers I ran into some frustrating permission issues. If you’re using docker-compose, i’ve got the fix right here for you.

Add the user parameter

Below you’ll see an example. The user parameter is the important part. If you have issues, execute the following to commands:

docker exec -it container_name id -u

and compare it with:

docker exec -it container_name ls -la /var/www

Use the output of the last command to set your user parameter in your docker-compose.yml file.

  wordpress:
    container_name: ${NAME}-wordpress
    user: "www-data:www-data"
    build:
      context: /home/mklasen/server-management/config/wordpress
      dockerfile: wordpress.Dockerfile
    depends_on:
      - db
    expose:
      - "9000"
    volumes:
      - /home/mklasen/server-management/config/php/default.conf:/usr/local/etc/php/conf.d/php.ini
      - ./:/var/www
      - /home/mklasen/server-management/tmp/xdebug:/tmp/xdebug
    links:
      - db
    external_links:
      - catchall
    environment:
      PHP_AUTOCONF: /usr/bin/autoconf

About Marinus Klasen

Marinus has been working in software/web development for more than a decade. Since 2020 his attention shifted on sharing knowledge and developing products and tools for sharing knowledge.

Marinus Klasen on Twitter

This site runs on Cloudways.
It's fast isn't it?
Cloudways offers high-quality, fast and affordable hosting.

Learn more

Need a hand? Post your project and hire me and other top notch developers on Codeable.

Hire me on Codeable

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Get in touch

Contact me using the details below

Marinus Klasen

Wilhelmina van Pruisenweg 35, 2595 AN Den Haag

[email protected]
twitter.com/marinusklasen
linkedin.com/in/marinusklasen

  • GitHub
  • LinkedIn
  • Twitter

Have you read?

  • Disable the ‘Password Changed’ Email notification in WordPress with a filterAugust 30, 2023
  • A-Frame: Change an objects color on hoverAugust 24, 2023
  • Connecting to a Cloudways application with VSCodeAugust 15, 2023
  • Force refresh PHP-FPM or Litespeed cacheAugust 4, 2023
  • Only return zip/postal codes from Google Places AutoComplete Javascript APIJuly 19, 2023

Copyright © 2023 · Marinus Klasen | Webdesign by Team Rood