Docker: Unterschied zwischen den Versionen

Aus robopagex.com
Zur Navigation springen Zur Suche springen
Zeile 232: Zeile 232:
 
Export a container’s filesystem as a tar archive.
 
Export a container’s filesystem as a tar archive.
 
The docker export command does not export the contents of volumes associated with the container.
 
The docker export command does not export the contents of volumes associated with the container.
 +
 +
''import''
 +
    $''' cat alpine1.tar | docker import - alpine2:v2 '''
  
 
''Volume''
 
''Volume''

Version vom 15. Juni 2021, 15:55 Uhr

Docker Container & Images

[Docker https://www.docker.com/]

 - Automatisiertes Deployment
 
 - Durch automatisierte Builds
 
 - Isolierung von Systemen für mehr Sicherheit
 
 - Einfaches Deployment von Third-Party Software
 
 - Skalierung
 systemctl start docker
 
 systemctl stop docker
 systemctl enable docker
 systemctl disable docker

Tutorial docker cli, docker-compose, docker swarm

Docker cli

Version

   $ docker -v
   $ docker-compose -v

System

   $ docker system info 

system-wide information

   $ docker system info 

docker disk usage

   $ docker system df 

real time events from the server

   $ docker system events


Status

running containers

   $ docker ps
   $ docker ps --all
   $ docker ps -a
   $ docker ps -l 
   $ docker ps -n=2 
   $ docker ps -n=2 -s 
   $ docker ps -as 
   $ docker container ls -a 
   $ docker ps -a -f status=running 
   $ docker ps -aq 


real time status

   $ docker stats
   $ docker top [CONTAINER]


Images

Suche im Docker HUB nach Images

   $ docker search [NAME] 

download image

   $ docker pull [NAME] 

image history

   $ docker image history [NAME] or [IMAGE ID] 
   $ docker images -aq 
   $ docker images rm $(docker ps -aq) 
   $ docker system prune 

View all Images

   $ docker images
   $ docker image list
   $ docker image ls

View Image by name

   $ docker images alpine
   $ docker images history [IMAGENAME]
   $ docker images --digests

Delete Container/Images

   $ docker rm [CONTAINER-ID] 
   $ docker rm $(docker ps -qa) 
   $ docker container rm [CONTAINER ID] 
   $ docker container rm $(docker ps -aq) 
   $ docker container kill [CONTAINER ID] 
   $ docker rm $(docker ps -a -q -f status=exited) 
   $ docker container prune 
   $ docker image rm [NAME] 
   $ docker image prune 


Image commands

   $ docker image
   build        #
   history      #
   import       #
   inspect      #
   load         #
   ls           #
   prune        #
   pull         #
   push         #
   rm           #
   save         #
   tag          #

Export

export container, these commands has the same result

   $ docker export nginx > nginx_latest.tar
   $ docker export --output="nginx_latest" nginx

Volume

   $ docker volume ls 

docker bash run images

   $ docker run --help
   $ docker run -d --TABTAB

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

   $ docker run 
   -it                   # interactively
   -d                    # detached
   ---ip 172.17.0.2      # Set Network first, only ip not work
   --hostname            # aaaa.de
   -p 172.17.0.2:1010:80 # define external port and ip
   -p 8080:80            # define external port
   --name MYNAME         # define container name
   -m 300m               # memory limit 
   --memory-swap 1g      #
   --cpuset-cups="1"     # 
   -rm                   # auto remove container after exit
   --workdir "/home"     # Any RUN , CMD , ADD , COPY , or ENTRYPOINT command will be executed in the specified working directory
   -w="/home"            # ^
   -v source:target      # Mount or bind Volume/Directory
                 -v Apache:/var/www/html 
                 -v "$PWD":/var/www/html

run alpine cli sh

   $ docker run -it alpine /bin/sh
   $ docker run busybox 
   $ docker run busybox echo "BUSYBOX" 
   $ docker run -it busybox sh 
   $ docker run -p 5000:80 nginx 
   $ docker run -p 5000:80 -d nginx 
   $ docker run -itd --name alpine1 -v $(pwd):/home alpine 

run alpine cli detached

   $ docker run -it -d --name MYALPINE -p 8080:80 alpine

run alpine cli with entrypoint

   $ docker run -it --name MYALPINE -p 8080:80 --entrypoint /bin/sh alpine
   $ docker run -it --name MYALPINE -p 8080:80 --entrypoint /bin/sh alpine
   $ docker run -d --TABTA     
   $ docker run -it --rm busybox 
   $ docker run -it --rm redis redis-cli 
   $ docker run redis 
   $ docker run -it --rm micro-busybox /bin/sh 

EXEC

   $ docker exec -it [container-name/id] /bin/sh

Volume/Directory

   $ docker run -it --name MYALPINE -v ${PWD}:/home alpine
   $ docker run -it --name MYALPINE -w='/home' -v ${PWD}:/home alpine
   $ docker run -it --name MYALPINE --entrypoint /bin/sh --workdir '/home' -v ${PWD}:/home alpine

docker bash stop/kill images

   $ docker stop [CONTAINER]
   $ docker kill [CONTAINER]

BACKUP IMAGE, CONTAINER VOLUME

Image

   $ docker

Container

commit

   $ docker commit [RUNNING_CONTAINER_ID] [MY_NEW_IMAGE_NAME] 
   $ docker commit alpine1 alpine:v1 

export

   $ docker export alpine > alpinebkp.tar 
   $ docker export --output="latest.tar" red_panda 

Export a container’s filesystem as a tar archive. The docker export command does not export the contents of volumes associated with the container.

import

   $ cat alpine1.tar | docker import - alpine2:v2 

Volume

   $ docker


docker File

docker compose


docker network COMMAND


docker create

  1. create volume

docker volume create [OPTIONS] [VOLUME]

docker start -a xxx

docker start


docker run -d --name some-ghost -v Ghost-Blog:/var/lib/ghost/content ghost

docker run -d --name some-ghost -v Ghost-Blog:/var/lib/ghost/content -e url=http://192.168.109.152:3001 -p 3001:2368 ghost