Linux/Docker: Difference between revisions

From Wiki
No edit summary
 
(37 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Installation on Ubuntu ==
{| class="wikitable" style="float:right; margin-left: 10px;" width="400px"
<pre>
| Other articles
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|-
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
sudo apt update
<DynamicPageList>
apt-cache policy docker-ce
category = Linux/Docker
sudo apt install docker-ce
ordermethod = sortkey
 
</DynamicPageList>
sudo systemctl status docker
|}
</pre>
 
== Installation on Windows, control from WSL ==
* Install Docker for Windows
* Settings: Expose daemon without TLS
* WSL:
** Follow "Installation on Ubuntu" instructions from above
** <pre>echo "export DOCKER_HOST=localhost:2375" >> ~/.bash_profile</pre>


== Frequently used commands ==
== Frequently used docker commands ==
* Search for official Ubuntu images:
* Search for official Ubuntu images:
<blockquote><pre>docker search --filter is-official=true ubuntu</pre></blockquote>
<blockquote><pre>docker search --filter is-official=true ubuntu</pre></blockquote>
Line 24: Line 16:
* View all downloaded images:
* View all downloaded images:
<blockquote><pre>docker images</pre></blockquote>
<blockquote><pre>docker images</pre></blockquote>
*
* Run "hello world":
<blockquote><pre>docker run hello-world</pre></blockquote>
* Run Ubuntu:
<blockquote><pre>docker run --name firsttest ubuntu</pre></blockquote>
* Run Ubuntu in interactive mode:
<blockquote><pre>docker run -it --name myfirstubuntu ubuntu</pre></blockquote>
* Run Ubuntu in interactive mode and remove after running:
<blockquote><pre>docker run -it --rm openvpn</pre></blockquote>
* Build image:
<blockquote><pre>docker build -t jupyter .</pre></blockquote>
 
* Run bash on running container:
<blockquote><pre>docker exec -it containername /bin/bash</pre></blockquote>
 
== cleanup ==
* Delete all containers:
<blockquote><pre>docker rm $(docker ps -a -q)</pre></blockquote>
* Remove image:
<blockquote><pre>docker rmi jupyter</pre></blockquote>
* Delete all images:
<blockquote><pre>docker rmi $(docker images -q)</pre></blockquote>
* Delete "none" images:
<blockquote><pre>docker rmi $(docker images -f "dangling=true" -q)</pre></blockquote>
* Cleanup everything:
<blockquote><pre>docker system prune</pre></blockquote>


== All commands ==
== All commands ==
Line 85: Line 101:
   wait        Block until one or more containers stop, then print their exit codes
   wait        Block until one or more containers stop, then print their exit codes
</pre>
</pre>
== Ports ==
* expose (expose to container network) (internal)
* ports/publish (publish to host network) (external)
<pre>
docker run -p 80:80
</pre>
== Dockerfile ==
* https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
* https://stackoverflow.com/questions/33682123/dockerfile-strategies-for-git
* https://techbeacon.com/how-keep-your-container-secrets-secure
* https://github.com/tomav/docker-mailserver/blob/master/Dockerfile
== Docker-compose ==
* https://stackoverflow.com/questions/43671482/how-to-run-docker-compose-up-d-at-system-start-up


== Links ==
== Links ==
* https://medium.com/@sebagomez/installing-the-docker-client-on-ubuntus-windows-subsystem-for-linux-612b392a44c4
* https://www.youtube.com/watch?v=YFl2mCHdv24
* https://www.youtube.com/watch?v=YFl2mCHdv24
* https://www.youtube.com/watch?v=Qw9zlE3t8Ko
* https://www.youtube.com/watch?v=Qw9zlE3t8Ko
Line 93: Line 125:
* https://medium.freecodecamp.org/docker-quick-start-video-tutorials-1dfc575522a0
* https://medium.freecodecamp.org/docker-quick-start-video-tutorials-1dfc575522a0
* https://stackify.com/docker-tutorial/
* https://stackify.com/docker-tutorial/
* https://github.com/tomav/docker-mailserver/blob/master/Dockerfile
* https://docs.docker.com/get-started/#test-docker-version
* https://docs.docker.com/get-started/#test-docker-version
* https://docs.microsoft.com/de-de/virtualization/windowscontainers/kubernetes/getting-started-kubernetes-windows
 
* https://www.hanselman.com/blog/HowToSetUpKubernetesOnWindows10WithDockerForWindowsAndRunASPNETCore.aspx
* https://tutorials.ubuntu.com/tutorial/tutorial-windows-ubuntu-hyperv-containers#2


[[Category:Linux/Virtualization]]
[[Category:Linux/Virtualization]]
[[Category:Linux]]
[[Category:Linux]]

Latest revision as of 17:47, 6 December 2021

Other articles

Frequently used docker commands

  • Search for official Ubuntu images:
docker search --filter is-official=true ubuntu
  • Download Ubuntu image:
docker pull ubuntu
  • View all downloaded images:
docker images
  • Run "hello world":
docker run hello-world
  • Run Ubuntu:
docker run --name firsttest ubuntu
  • Run Ubuntu in interactive mode:
docker run -it --name myfirstubuntu ubuntu
  • Run Ubuntu in interactive mode and remove after running:
docker run -it --rm openvpn
  • Build image:
docker build -t jupyter .
  • Run bash on running container:
docker exec -it containername /bin/bash

cleanup

  • Delete all containers:
docker rm $(docker ps -a -q)
  • Remove image:
docker rmi jupyter
  • Delete all images:
docker rmi $(docker images -q)
  • Delete "none" images:
docker rmi $(docker images -f "dangling=true" -q)
  • Cleanup everything:
docker system prune

All commands

Management Commands:
  config      Manage Docker configs
  container   Manage containers
  image       Manage images
  network     Manage networks
  node        Manage Swarm nodes
  plugin      Manage plugins
  secret      Manage Docker secrets
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  build       Build an image from a Dockerfile
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  images      List images
  import      Import the contents from a tarball to create a filesystem image
  info        Display system-wide information
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  login       Log in to a Docker registry
  logout      Log out from a Docker registry
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  ps          List containers
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  run         Run a command in a new container
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  search      Search the Docker Hub for images
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes

Ports

  • expose (expose to container network) (internal)
  • ports/publish (publish to host network) (external)
docker run -p 80:80

Dockerfile

Docker-compose


Links