Max
Max

Reputation: 11

Convert docker run command "--volumes-from" to docker-compose

🙋‍♂️

I basically want to convert the following docker run commands to docker-compose version 3.

https://autoize.com/multiple-wordpress-sites-docker/

I'm stuck with the --volumes-from part from this docker run command:

docker run --name letsencrypt-nginx-proxy-companion --net dockerwp -v ~/certs:/etc/nginx/certs:rw -v /var/run/docker.sock:/var/run/docker.sock:ro --volumes-from nginx-proxy -d --restart always jrcs/letsencrypt-nginx-proxy-companion

This is the closest I could get so far.

version: '3.3'
services:
...
    letsencrypt-nginx-proxy-companion:
        image: jrcs/letsencrypt-nginx-proxy-companion
        container_name: letsencrypt-nginx-proxy-companion
        networks: 
            - dockerwp
        volumes:
            - '~/certs:/etc/nginx/certs:rw'
            - '/var/run/docker.sock:/var/run/docker.sock:ro'
        restart: always
...

This is my docker-compose.yml file, for the overview.

version: '3.3'
services:

    nginx-proxy:
        image: jwilder/nginx-proxy
        container_name: nginx-proxy
        networks: 
            - dockerwp
        ports:
            - '80:80'
            - '443:443'
        volumes:
            - '~/certs:/etc/nginx/certs'
            - /etc/nginx/vhost.d
            - /usr/share/nginx/html
            - '/var/run/docker.sock:/tmp/docker.sock:ro'
        labels:
            - com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy
        restart: always

    letsencrypt-nginx-proxy-companion:
        image: jrcs/letsencrypt-nginx-proxy-companion
        container_name: letsencrypt-nginx-proxy-companion
        networks: 
            - dockerwp
        volumes:
            - '~/certs:/etc/nginx/certs:rw'
            - '/var/run/docker.sock:/var/run/docker.sock:ro'
        restart: always
        
    mariadb:
        image: mariadb
        container_name: mariadb1
        networks: 
            - dockerwp
        volumes:
            - 'mariadb1:/var/lib/mysql'
        environment:
            - MYSQL_ROOT_PASSWORD= #createSavePasswort
            - MYSQL_DATABASE=db1
            - MYSQL_USER=db1user
            - MYSQL_PASSWORD= #createSavePassword
        restart: always

    wordpress:
        image: wordpress
        container_name: wordpress1
        networks: 
            - dockerwp
        volumes:
            - 'wordpress1:/var/www/html'
            - '~/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini'
        environment:
            - WORDPRESS_DB_HOST=mariadb1:3306
            - WORDPRESS_DB_NAME=db1
            - WORDPRESS_DB_USER=db1user
            - WORDPRESS_DB_PASSWORD= #createSavePassword
            - VIRTUAL_HOST= #pasteYourDomain (mydomain.com)
            - LETSENCRYPT_HOST= #pasteYourDomain (mydomain.com)
            - LETSENCRYPT_EMAIL= #pasteYourEmailAddress ([email protected])
        restart: always

volumes:
    mariadb1:
    wordpress1:

networks:
    dockerwp:

This was the most promising source I could found so far, but unfortunately, nothing's working for me. https://github.com/docker/compose/issues/4379#issuecomment-279567234

How can I convert --volumes-from XY from a docker run command into docker-compose version 3.x, and how can I apply it to my docker-compose.yml file? 🙃

Upvotes: 0

Views: 143

Answers (1)

Max
Max

Reputation: 11

Thanks to the comment of @David Maze I could solve my issue. Among other things, I have specified the mounting points. I'm not sure if this is the way how to do it, but at least it is working. 🤷‍♂️ I'm happy with that 🤦‍♂️ Thanks David ;)

 letsencrypt-nginx-proxy-companion:
        image: jrcs/letsencrypt-nginx-proxy-companion
        container_name: letsencrypt-nginx-proxy-companion
        networks: 
            - dockerwp
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock:ro
            - ./certs:/etc/nginx/certs:rw
            - ./nginx/vhost.d:/etc/nginx/vhost.d:ro
            - ./nginx/html:/usr/share/nginx/html:ro
        restart: always

Upvotes: 1

Related Questions