Водич за слике Доцкера: Како обрисати слике Доцкера, зауставити контејнере и уклонити све запремине

Доцкер је широко прихваћен и одлично је средство за примену апликације у облак (или неку другу инфраструктуру спремну за Доцкер). Такође је корисно за локални развој. Можете брзо покренути сложене апликације, развијати се изоловано, а да и даље имате врло добре перформансе.

Овде су најважније наредбе за ефикасну употребу Доцкера у свакодневном пословању.

Наведи све Доцкер слике

docker images 

У мом случају имам инсталиране 3 слике:

  • МиСКЛ, верзија 8.0.19, означена као најновија верзија
  • и Касандра са најновијом верзијом.

Да бисте добили више информација о слици, можете је прегледати:

docker inspect mysql:latest

Ово ће вратити листу информација. Можете и да користите ИД слике да бисте добили информације:

docker inspect 3a5e53f63281

Резултат може бити неодољив. Стога постоји згодна опција за филтрирање одређених информација:

docker inspect --format='{{.RepoTags}} {{.Config.Image}}' 3a5e53f63281

Уклоните Доцкер слике

Појединачну слику може уклонити:

docker rm mysql:latest

У мом случају, слика је и даље означена са мискл: 8.0.19 . Због тога, да бих је потпуно уклонио, морам да уклоним и другу ознаку верзије:

docker rm mysql:8.0.19

Да бисте директно уклонили слику, лакше је бришете слику према ИД-у слике:

docker image rm 3a5e53f63281 -f

Опција форсира извршење, јер би у супротном добили грешку ако на слику упућује више од 1 ознаке.

Покрените Доцкер слику

Слику можете покренути у први план:

docker run cassandra

Ако слика не постоји, тада ће бити преузета. Можете зауставити извршење притиском ЦТРЛ + Ц . Можете га покренути и у позадини додавањем опције :

docker run -d mysql

Ако је контејнер покренут у позадини, тада ћете добити ИД контејнера.

По дефаулту, контејнер ради изоловано. Због тога с њим нећете моћи комуницирати и ниједна датотека се не чува у вашем тренутном директоријуму.

Предња врата контејнера

Портове можете да проследите помоћу опције -п , на пример, на страницу која је изложена из вашег контејнера:

docker run -p 8080:80 nginx

Овај НГИНКС контејнер излаже веб сервер на порту 80. Коришћењем -п 8080: 80, локални порт 8080 се прослеђује на порт контејнера 80.

Пријавите се у контејнер

Понекад је корисно пријавити се у контејнер. То је могуће само ако је на контејнеру инсталирана љуска. Добићете грешку ако то није случај.

Прво покрените одвојени контејнер и дајте му име:

docker run -d --name my_container nginx

Ово ће вратити ИД контејнера. Сада можете извршити љуску у контејнеру и приложити јој улаз и излаз помоћу опција и :

docker exec -it my_container bash

Уместо имена контејнера, такође можете користити враћени ИД контејнера за све следеће операције. Басх понекад није доступан. Према томе, можете такође покушати да покренете основну љуску:

docker exec -it my_container sh

Наведи текуће контејнере

Након што покренете контејнер, можете видети како се извршавају сви активни контејнери:

docker ps

Додавањем , изаћи ће и контејнери:

docker ps -a

Делите локалну фасциклу са контејнером

Sometimes it is useful to sync files between the container and the local filesystem. You can do it by running a container and using the -v option. On Linux and macOS, you can share a local temporary folder with a container by:

docker run --name=my_container -d -v $(pwd)/tmp:/var/log/nginx -p 8080:80 nginx

On windows you can run:

docker run --name=my_container -d -v %cd%/tmp:/var/log/nginx -p 8080:80 nginx

Stop running containers

It is possible to stop a running container by:

docker stop my_container

Stopping a container stops all processes but keeps changes within the filesystem.

Start a stopped container

A stopped container can be started by:

docker start my_container

Remove a container

To remove a stopped container, you can execute:

docker rm my_container

To stop and remove the container in one command, you can add the force option -f.

docker rm -f my_container

Create a volume and share it with multiple containers

An independent volume named SharedData can be created by:

docker volume create --name SharedData docker run --name=my_container -d -v SharedData:/var/log/nginx -p 8080:80 nginx docker run --name=my_container_2 -d -v SharedData:/var/log/nginx -p 8080:80 nginx

Both containers will have a shared folder, and files will be synced between both containers.

Remove a volume

To remove a volume, all containers that use the volume need to be removed.

docker rm -f my_container docker rm -f my_container_2 docker volume rm SharedData

Remove stopped containers and unused images

A safe tidy-up command is:

docker system prune -a

Remove all unused volumes

All unmounted volumes can be removed by:

docker volume prune

Conclusion

Creating containers, logging into containers, forwarding ports, and sharing volumes are the most important commands of your Docker command line interface. They build the foundation of systems like Kubernetes and enable us to create and run applications in isolation.

I hope you enjoyed the article. If you like it and feel the need for a round of applause, follow me on Twitter.

Суоснивач сам наше револуционарне платформе за путовање под називом Истражите свет. Ми смо млади стартуп из Дрездена у Немачкој и прво ћемо циљати немачко тржиште. Обратите ми се ако имате повратне информације и питања о било којој теми.

Хаппи Доцкер истражује :)

Референце

  • Документација Доцкер командне линије

    //доцс.доцкер.цом/енгине/референце/цоммандлине/доцкер/