What is the impact on not using volumes in my docker-compose?












0















I am new to docker, what a wonderful tool!. Following the Django tutorial, their docs provide a basic docker-compose.yml, that looks similar to the following one that I've created.



version: '3'

services:
web:
build: .
container_name: web
command: python manage.py migrate
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./src:/src
ports:
- "8000:8000"
depends_on:
- postgres
postgres:
image: postgres:latest
container_name: postgres
environment:
POSTGRES_USER: my_user
POSTGRES_PASSWORD: my_secret_pass!
POSTGRES_DB: my_db
ports:
- "5432:5432"


However, in every single docker-compose file that I see around, the following is added:



volumes:
- ./postgres-data:/var/lib/postgresql/data


What are those volumes used for? Does it mean that if I now restart my postgres container all my data is deleted, but if I had the volumes it is not?



Is my docker-compose.yml ready for production?










share|improve this question


















  • 2





    Basically yes, if you docker-compose down then the containers are removed and if there is data inside, it is also destroyed. Using volume mount helps it persist between container instances.

    – Dan Lowe
    Nov 28 '18 at 23:12
















0















I am new to docker, what a wonderful tool!. Following the Django tutorial, their docs provide a basic docker-compose.yml, that looks similar to the following one that I've created.



version: '3'

services:
web:
build: .
container_name: web
command: python manage.py migrate
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./src:/src
ports:
- "8000:8000"
depends_on:
- postgres
postgres:
image: postgres:latest
container_name: postgres
environment:
POSTGRES_USER: my_user
POSTGRES_PASSWORD: my_secret_pass!
POSTGRES_DB: my_db
ports:
- "5432:5432"


However, in every single docker-compose file that I see around, the following is added:



volumes:
- ./postgres-data:/var/lib/postgresql/data


What are those volumes used for? Does it mean that if I now restart my postgres container all my data is deleted, but if I had the volumes it is not?



Is my docker-compose.yml ready for production?










share|improve this question


















  • 2





    Basically yes, if you docker-compose down then the containers are removed and if there is data inside, it is also destroyed. Using volume mount helps it persist between container instances.

    – Dan Lowe
    Nov 28 '18 at 23:12














0












0








0








I am new to docker, what a wonderful tool!. Following the Django tutorial, their docs provide a basic docker-compose.yml, that looks similar to the following one that I've created.



version: '3'

services:
web:
build: .
container_name: web
command: python manage.py migrate
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./src:/src
ports:
- "8000:8000"
depends_on:
- postgres
postgres:
image: postgres:latest
container_name: postgres
environment:
POSTGRES_USER: my_user
POSTGRES_PASSWORD: my_secret_pass!
POSTGRES_DB: my_db
ports:
- "5432:5432"


However, in every single docker-compose file that I see around, the following is added:



volumes:
- ./postgres-data:/var/lib/postgresql/data


What are those volumes used for? Does it mean that if I now restart my postgres container all my data is deleted, but if I had the volumes it is not?



Is my docker-compose.yml ready for production?










share|improve this question














I am new to docker, what a wonderful tool!. Following the Django tutorial, their docs provide a basic docker-compose.yml, that looks similar to the following one that I've created.



version: '3'

services:
web:
build: .
container_name: web
command: python manage.py migrate
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./src:/src
ports:
- "8000:8000"
depends_on:
- postgres
postgres:
image: postgres:latest
container_name: postgres
environment:
POSTGRES_USER: my_user
POSTGRES_PASSWORD: my_secret_pass!
POSTGRES_DB: my_db
ports:
- "5432:5432"


However, in every single docker-compose file that I see around, the following is added:



volumes:
- ./postgres-data:/var/lib/postgresql/data


What are those volumes used for? Does it mean that if I now restart my postgres container all my data is deleted, but if I had the volumes it is not?



Is my docker-compose.yml ready for production?







docker docker-compose






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 28 '18 at 23:11









DalvtorDalvtor

850722




850722








  • 2





    Basically yes, if you docker-compose down then the containers are removed and if there is data inside, it is also destroyed. Using volume mount helps it persist between container instances.

    – Dan Lowe
    Nov 28 '18 at 23:12














  • 2





    Basically yes, if you docker-compose down then the containers are removed and if there is data inside, it is also destroyed. Using volume mount helps it persist between container instances.

    – Dan Lowe
    Nov 28 '18 at 23:12








2




2





Basically yes, if you docker-compose down then the containers are removed and if there is data inside, it is also destroyed. Using volume mount helps it persist between container instances.

– Dan Lowe
Nov 28 '18 at 23:12





Basically yes, if you docker-compose down then the containers are removed and if there is data inside, it is also destroyed. Using volume mount helps it persist between container instances.

– Dan Lowe
Nov 28 '18 at 23:12












1 Answer
1






active

oldest

votes


















2















What are those volumes used for?




Volumes persist data from your container to your Docker host.



This:



volumes:
- ./postgres-data:/var/lib/postgresql/data


means that /var/lib/postgresql/data in your container will be persisted in ./postgres-data in your Docker host.



What @Dan Lowe commented is correct, if you do docker-compose down without volumes, all the data insisde your containers will be lost, but if you have volumes the directories, and files you specified will be kept in your Docker host



You can see this data in your Docker host in /var/lib/docker/volumes/<your_volume_name>/_data even after your container don't exist anymore.






share|improve this answer


























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53529514%2fwhat-is-the-impact-on-not-using-volumes-in-my-docker-compose%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2















    What are those volumes used for?




    Volumes persist data from your container to your Docker host.



    This:



    volumes:
    - ./postgres-data:/var/lib/postgresql/data


    means that /var/lib/postgresql/data in your container will be persisted in ./postgres-data in your Docker host.



    What @Dan Lowe commented is correct, if you do docker-compose down without volumes, all the data insisde your containers will be lost, but if you have volumes the directories, and files you specified will be kept in your Docker host



    You can see this data in your Docker host in /var/lib/docker/volumes/<your_volume_name>/_data even after your container don't exist anymore.






    share|improve this answer






























      2















      What are those volumes used for?




      Volumes persist data from your container to your Docker host.



      This:



      volumes:
      - ./postgres-data:/var/lib/postgresql/data


      means that /var/lib/postgresql/data in your container will be persisted in ./postgres-data in your Docker host.



      What @Dan Lowe commented is correct, if you do docker-compose down without volumes, all the data insisde your containers will be lost, but if you have volumes the directories, and files you specified will be kept in your Docker host



      You can see this data in your Docker host in /var/lib/docker/volumes/<your_volume_name>/_data even after your container don't exist anymore.






      share|improve this answer




























        2












        2








        2








        What are those volumes used for?




        Volumes persist data from your container to your Docker host.



        This:



        volumes:
        - ./postgres-data:/var/lib/postgresql/data


        means that /var/lib/postgresql/data in your container will be persisted in ./postgres-data in your Docker host.



        What @Dan Lowe commented is correct, if you do docker-compose down without volumes, all the data insisde your containers will be lost, but if you have volumes the directories, and files you specified will be kept in your Docker host



        You can see this data in your Docker host in /var/lib/docker/volumes/<your_volume_name>/_data even after your container don't exist anymore.






        share|improve this answer
















        What are those volumes used for?




        Volumes persist data from your container to your Docker host.



        This:



        volumes:
        - ./postgres-data:/var/lib/postgresql/data


        means that /var/lib/postgresql/data in your container will be persisted in ./postgres-data in your Docker host.



        What @Dan Lowe commented is correct, if you do docker-compose down without volumes, all the data insisde your containers will be lost, but if you have volumes the directories, and files you specified will be kept in your Docker host



        You can see this data in your Docker host in /var/lib/docker/volumes/<your_volume_name>/_data even after your container don't exist anymore.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 29 '18 at 1:37

























        answered Nov 29 '18 at 1:29









        gascgasc

        588314




        588314
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53529514%2fwhat-is-the-impact-on-not-using-volumes-in-my-docker-compose%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

            Calculate evaluation metrics using cross_val_predict sklearn

            Insert data from modal to MySQL (multiple modal on website)