How to save a Docker container state

前端 未结 3 1677
独厮守ぢ
独厮守ぢ 2020-12-12 18:05

I\'m trying to learn the ins and outs of Docker, and I\'m confused by the prospect of saving an image.

I ran the basic Ubuntu image, installed Anaconda Python and a

相关标签:
3条回答
  • 2020-12-12 18:25

    It's possible (but not recommended) by using docker commit command.
    You can check the following clear example:
    https://phoenixnap.com/kb/how-to-commit-changes-to-docker-image

    0 讨论(0)
  • 2020-12-12 18:29

    The usual way is at least through a docker commit: that will freeze the state of your container into a new image.

    Note: As commented by anchovylegend, this is not the best practice, and using a Dockerfile allows you to formally modeling the image content and ensure you can rebuild/reproduce its initial state.

    You can then list that image locally with docker images, and run it again.

    Example:

    $ docker ps
    
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
    c3f279d17e0a        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            desperate_dubinsky
    197387f1b436        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            focused_hamilton
    
    $ docker commit c3f279d17e0a  svendowideit/testimage:version3
    
    f5283438590d
    
    $ docker images
    
    REPOSITORY                        TAG                 ID                  CREATED             SIZE
    svendowideit/testimage            version3            f5283438590d        16 seconds ago      335.7 MB
    

    After that, if you have deployed a registry server, you can push your image to said server.

    0 讨论(0)
  • 2020-12-12 18:40

    Use a Docker file for these kind of scenarios.

    An example case for an Ubuntu image with MongoDB:

    FROM ubuntu
    MAINTAINER Author name
    
    RUN apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
    RUN echo "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist    10gen" | tee -a /etc/apt/sources.list.d/10gen.list
    RUN apt-get update
    RUN apt-get -y install apt-utils
    RUN apt-get -y install mongodb-10gen
    
    #RUN echo "" >> /etc/mongodb.conf
    
    CMD ["/usr/bin/mongod", "--config", "/etc/mongodb.conf"]
    

    Also see Best practices for writing Dockerfiles.

    0 讨论(0)
提交回复
热议问题