Someone explain docker to me like I'm retarded

Someone explain docker to me like I'm retarded
t. a retard

Attached: docker.jpg (384x384, 13K)

Other urls found in this thread:

cdn7.git.ir/1397/ine/INE Using Docker_git.ir.rar
cdn4.git.ir/1394//6-16/CBT Nuggets Docker_git.ir.rar
blog.docker.com/2016/03/containers-are-not-vms/
twitter.com/SFWRedditVideos

run a program in a self contained os image. Like a super minimal virtual machine

So, you know those things you arent supposed to ever touch or fuck with? Things like fire, knives, or cleaning supplies? Docker is like that, but even worse. Just keep away from the evil blue whale and everything will be fine.

make an image with necessary dependencies and shit so it can run on bare kernel independent from the rest of the system.

Doesn't work on windows home, that's all I need to know.
Bitnami is gold tough.

is there any docking whale r34 yet

chroot on steroids

wont' it be like 6,000,000 GB just from the OS, before you even put your game in there?

Say you want to run isolated code on a perfectly configured instance of a given OS. One way is to use a VM but that is horribly inefficient as you must emulate ***everything*** or you use a container - it shares as much as it can with your OS and simply adds stuff on top.

Attached: containers-versus-virtual-machines-docker-inc-rightscale.jpg (638x359, 30K)

with docker you run any process but exposed to totally different file system, network interfaces, hostname, custom access to linux system calls, PID and user set, it's as if it's a VM but totally running directly on the kernel because all these parameters are plugged and unplugged to whatever you want not just the default settings provided by the system.

make a dockerfile to make an image

>needed to install a oracle xa database 11g
>downloaded an image
>installed in the blink of an eye, with everything i needed, configured

Shit is gold

Attached: henry-cavill-0.jpg (968x681, 44K)

its like a virtual machine but BUT its lighter on the system.

Its like VM2.0

>t. british

cdn7.git.ir/1397/ine/INE Using Docker_git.ir.rar

This course will cover the basics of Docker from the point of view of a System Administrator. It will show how Docker images and containers can be set up to keep developers environments the same as the production environment. It will also walk you through several real world scenarios culminating in Docker being deploye

cdn4.git.ir/1394//6-16/CBT Nuggets Docker_git.ir.rar

1. Intro (1 min)
2. Containers vs Virtual Machines (9 min)
3. How Docker Works (7 min)
4. Docker Installer (Deconstructed!) (6 min)
5. Create a Simple Dockerized App (9 min)
6. Managing Containers and Images (13 min)
7. Networking (11 min)
8. Advanced Networking (11 min)
9. Shared and Persistent Data (8 min)
10. Modifying Containers and Images (8 min)
11. Creating Images from Scratch (12 min)
12. Containers Working Together (10 min)
13. GUI Tools for Docker (7 min)

no, docker uses linux containers which are very lightweight.

just checked, the latest ubuntu lts image is 82MB

blog.docker.com/2016/03/containers-are-not-vms/

containers are like vms but they all use the host machine's kernel
images are, well images of what you want to run
you can base your image off of another image and then add things to it
imagine you want to run a python app or something - you just do "FROM python:3.6.6", then copy your files (or you can mount then from outside the container alternatively) by doing "ADD ./my_python_code.py /"
python image is built on top of debian, so you can install some dependencies by "RUN apt install python-dependency"
you then specify that your app should be ran when you start the image by "CMD [\"python\", \"my_python_code.py\"]
and then you build it and push it to a remote repository and deploy it wherever you want by doing "docker pull myusername/mypythonapp" and running by "docker run myusername/mypythonapp"

TL;DR:
man chroot
docker is basically a more advanced way of chrooting things

however, I think if you want to run shady code or other shit (ahem porn) you want VMs because they're more isolated than containers. I'd assume they'd be more secure.

Can I get a YouTube link and not a sketchy far plZ

You would be right except that everybody knows now about the Spectre exploit. Still much more secure than containers, but against the NSA you'll get fucked either way.

That's it? It's just a vm?

Learn to read

>docker is basically a more advanced way of chrooting things

stop repeating this retarded meme

OP should read this

jails is better

ditch containers, actually, ditch linux altogether

I'm a fresh graduate out of uni, my first project is to integrate docker into the development cycle.

here you go

Attached: dockduo.jpg (489x384, 34K)

blue board

Blue whales, it's fine.

vmware/virtualbox/etc. virtualize hardware, kernel, and userspace
docker virtualizes only userspace

Docker has smaller memory footprint and starts up almost as fast as a regular process, but is more risky from a security standpoint and containers are not portable between different operating systems. Still I use docker much more than I am using vms now

what if you are programming visual stuff like gui, then the whole docker paradigm wont work?

Illuminati confirmed

Sure is /x/ in here today

Attached: Untitled.png (384x384, 135K)

This, basically chroots with a single program installed on them so that lazy sysadmins don't have to deal with share libraries

Attached: 1525095830105.png (1440x1557, 738K)

You can use X11 forwarding if you really want, but GUIs are for faggots regardless.

Basically the Linux equivalent of MS App-V or VMware ThinApp .

how do you store data in docker swarm so that all data between nodes are the same? i want my data outside the containers since i need to constantly make changes to them.

Yes. Plus jail on steroids.

Define a collection of files and a program to run, program can read/write only the selected files, access the kernel, and anything else has to be explicitly allowed.

For an app dev it has most of the benefits of a virtual machine, without the overhead of actually simulating anything.

It's more lightweight than a VM while sharing most of the benefits (isolated file system and resources). Since you're working with an image of a file system (that's what a Docker image is), it will work exactly the same on any computer (assuming same processor architecture etc). No more "works on my machine bugs" because you're running the exact same image on two different machines. This basically makes it so you don't have to worry about a setting being different on a server you deploy your software to.

It's also super easy to deploy (once you get everything configured properly), you can create config files that describe every container you're deploying, the networks they are attached to (you can create internal Docker networks that allow containers to talk to each other with DNS and load balancing built in and everything), any volumes they use that allow you to save files from your container's filesystem to the host machine's file system, restart policies, container scaling (maybe you want multiple of one type of container deployed to spread the load of a heavy process), and lots more. Then with one command you can deploy this entire configuration and set up a huge system consisting of dozens of containers, it's pretty cool once you get the hang of it.

Also what this guy said

Volumes or bind mounts. I think there may be a way to specify that the volume should be mounted on nodes with a particular label, so you can label one node and specify that the volume must be on that node

for example: if i mount the volume on node 1; how does the other nodes access the volume? like a network sharing? or does it make a copy of the volume from node 1?

Not sure off the top of my head but I believe you can define a root level volume in your compose file like this:
volumes:
myvolume:


And then do something like this in one of your services:
services:
myservice:
volumes:
myvolume:/app/myvolume/


That syntax is probably wrong but the gist of it is I think if you name the volume and define it in the root level "volumes" key and reference that name in the services, you can reference the same volume that exists on one node in the swarm

This, the picture is self explanatory, OP

this wouldn't work if the nodes are in different server since the volume is bind to local

>containers are not portable between different operating systems
Which has always been the main reason to use VM. Docker being an advanced chroot is not a meme.

If I run a virii in a container, I am going to be alright?

Well read the documentation then brainlet I told you that was likely incorrect

It's a makefile that makes a virtual machine that runs your makefiles.

If you're using CMake, then Docker is a makefile for a VM that runs makefiles that make makefiles.

Is Docker better than Sandboxie? If so, why?

don't listen to this retard