Showing posts with label Virtualization. Show all posts
Showing posts with label Virtualization. Show all posts

Difference between save and export in Docker - Thomas Uhrig



Difference between save and export in Docker – Thomas Uhrig
How Docker works (in a nutshell)
Docker is based on so called images. These images are comparable to virtual machine images and contain files, configurations and installed programs. And just like virtual machine images you can start instances of them. A running instance of an image is called container. You can make changes to a container (e.g. delete a file), but these changes will not affect the image. However, you can create a new image from a running container (and all it changes) using docker commit <container-id> <image-name>.
Export
Export is used to persist a container (not an image). So we need the container id which we can see like this:
To export a container we simply do:
The result is a TAR-file which should be around 2.7 MB big (slightly smaller than the one from save).
Save
Save is used to persist an image (not a container). So we need the image name which we can see like this:
To save an image we simply do:
The result is a TAR-file which should be around 2.8 MB big (slightly bigger than the one from export).
So what’s the difference between both? Well, as we saw the exported version is slightly smaller. That is because it is flattened, which means it lost its history and meta-data. We can see this by the following command:
If we run the command we will see an output like the following. As you can see there, the exported-imported image has lost all of its history whereas the saved-loaded image still have its history and layers. This means that you cannot do any rollback to a previous layer if you export-import it while you can still do this if you save-load the whole (complete) image (you can go back to a previous layer by usingdocker tag <LAYER ID> <IMAGE NAME>).
Read full article from Difference between save and export in Docker – Thomas Uhrig

Microsoft Windows - Docker Documentation



 Microsoft Windows - Docker Documentation
Windows Note: Docker has been tested on Windows 7.1 and 8; it may also run on older versions. Your processor needs to support hardware virtualization. The Docker Engine uses Linux-specific kernel features, so to run it on Windows we need to use a lightweight virtual machine (vm). You use the Windows Docker client to control the virtualized Docker Engine to build, run, and manage Docker containers. To make this process easier, we've designed a helper application called Boot2Docker that installs the virtual machine and runs the Docker daemon.

docker run hello-world

Container port redirection

If you are curious, the username for the boot2docker default user is docker and the password is tcuser.
The latest version of boot2docker sets up a host only network adaptor which provides access to the container's ports.
If you run a container with an exposed port:
docker run --rm -i -t -p 80:80 nginx
Then you should be able to access that nginx server using the IP address reported to you using:
boot2docker ip
Typically, it is 192.168.59.103, but it could get changed by Virtualbox's DHCP implementation.

Read full article from Microsoft Windows - Docker Documentation

Getting Started - Vagrant Documentation



Getting Started - Vagrant Documentation
$ vagrant init hashicorp/precise32
$ vagrant up
After running the above two commands, you'll have a fully running virtual machine inVirtualBox running Ubuntu 12.04 LTS 32-bit. You can SSH into this machine with vagrant ssh, and when you're done playing around, you can remove all traces of it with vagrant destroy.

With Vagrant, vagrant up is all you need to work on any project, to install every dependency that project needs, and to set up any networking and synced folders so you can continue working from the comfort of your own machine.

The Vagrantfile is meant to be committed to version control with your project, if you use version control. This way, every person working with that project can benefit from Vagrant without any upfront work.
Read full article from Getting Started - Vagrant Documentation

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts