Docker podstawowe komendy

Ogólne

Loading

Docker podstawowe komendy to kolejny z tematów z zakresu wiedzy ogólnej. Chcąc korzystać z dockera, możemy mieć konieczność z wykorzystania z innych, nie wykorzystywanych na co dzień poleceń. Stąd też lista która będzie dla Was zawsze pod ręką.

Co to jest Docker

Docker – otwarte oprogramowanie służące do realizacji wirtualizacji na poziomie systemu operacyjnego (tzw. „konteneryzacji”), działające jako „platforma dla programistów i administratorów do tworzenia, wdrażania i uruchamiania aplikacji rozproszonych”.

Polecenia

Poniżej w każdym akapicie poruszymy różne polecenia, z których będziesz mógł skorzystać w ramach swojej pracy. Komendy zostały podzielone tematycznie.

Docker commands

  • docker start {name} – Start docker container
  • docker start -i {name} – Start docker container with execute information
  • docker stop {name} – Stop docker container
  • docker restart {name} – Restart docker container
  • docker exec -it {name} {command} – Execute command inside of container (/bin/bash | bash, phpunit, /usr/sbin/nginx, redis-cli)
  • docker images – Display all created images
  • docker ps -a – Display all containers (also exited)
  • docker system df – Show docker disk usage
  • docker system info – Display docker environment information
  • docker system df –format „{{.Type}} {{.Size}}” – Docker disk usage with filters (show type and size)
  • docker build -t {image name} {docker conf file} – Build image from docker configuration file
  • docker rm {name/hash} – Remove container (must be killed before)
  • docker rmi {name/hash} – Remove image (firs must be killed or removed container)
  • docker run -id –name {container} {image} – Create container from image
  • docker history {image} – Show image history
  • docker run -id -v local/file:/container/file -p 3307:3306 –name {container} {image} – Create container with file link and port forwarding
  • docker network inspect {network name} – Display information about docker internal network
  • docker network inspect $(docker network ls -q) – Information about all docker networks
  • docker network ls – List of docker networks
  • docker logs {container} – Display docker container logs (with -f live like tail -f)
  • docker kill {container} – Kill working container
  • docker search {name} – Search existing images on docker community
  • docker stats – Docker containers system resource usage (docker stats –no-stream – display only once)
  • docker top {name} – List of launched process inside of container
  • docker inspect {name} – Container details
  • docker update {name} –restart always – aktualizuje kontener i ustawia uruchamiania po każdym restarcie (no – wyłącza restart)
  • docker run -it –name {nazwa kontenera} –rm –entrypoint /bin/bash {skrypt} – ustawiamy własny entrypoint
  • docker exec -i {nazwa kontenera} mysql -u {login} -p{hasło} {tabela} <<< „polecenie sql” – bezpośrednie podanie polecenia sql do kontenera
  • nohup docker exec -i {kontener} {polecenie} > {log} 2>&1 & echo $! > {pid} – uruchamia proces w kontenerze, tak aby działał w tle i zapisuje id procesu do pliku
  • docker volume ls – lista volumenów
  • docker volume rm {nazwa} – kasowanie volumenów
  • docker system prune –

Some useful commands usage

  • docker cp {plik} {kontener}:{docelowa ścierzka} – kopiuje plik do kontenera
  • docker cp {kontener}:{plik} {docelowa ścierzka} – kopiuje plik z kontenera
    • -a – zachowuje atrybuty
  • docker rmi -f $(docker images | grep „” | awk „{print $3}”) – remove broken images
  • docker rmi $(docker images –filter „dangling=true” -q –no-trunc) – remove unused images
  • docker exec -it {container} mysql -u root –password=* -e „CREATE USER '{user_name}’@’%’ IDENTIFIED BY '{pass};”
  • docker exec -it {container} mysql -u root –password=* -e „GRANT ALL PRIVILEGES ON . TO '{user_name}’@’%’ IDENTIFIED BY '{pass}’ WITH GRANT OPTION;”;

Docker compose commands

  • docker-compose top – Display details of docker containers launched by docker compose (inside of docker env directory)
  • docker-compose -f {config.yml} up -d – Start docker containers defined in compose
  • docker-compose build –verbose – Build or rebuild containers
  • docker-compose ps – List of started by docker compose containers
  • docker-compose -f {config.yml} up -d –build redis – Build single container from docker compose

Other

  • screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty – dostęp do virtualki z dockerem na macku
    • Ctrl+a d – wyjście
  • docker rm $(docker ps -a -q) – kasuje wszystkie kontenery
  • docker volume rm $(docker volume list -q) – kasuje wszystkie volumeny

Podsumowanie.

Docker podstawowe komendy to kolejny wpisów o wiedzy ogólnej. Dzięki tym kilku komendom będziecie w stanie pracować razem ze swoim dockerem. Oczywiście w praktyce jak zawsze będziemy mierzyć się z innymi wyzwaniami, nieobjętymi w tym wpisie. O innych zagadnieniach ogólnych piszemy w niniejszym dziale.
Jednym ze źródeł – github.