Създаване на първия си Docker контейнер
Използване на Dockerfiles
Този урок обяснява основите на започване на работа с Docker. Предполагам, че вече имате инсталиран Docker. Стъпките в този урок ще работят на всяка дистрибуция на Linux, която е съвместима с Docker (CentOS, Ubuntu и т.н.).
Създаване на първия си Docker контейнер
Docker създава виртуални контейнери. Контейнерната система на Docker е много ефективна, защото работи с комити. Това спестява място и ви позволява да видите промените в контейнера. Например, ако инсталирате Apache в контейнер, можете да създадете комит с името "Installed Apache", за да знаете точно какво се е случило.
Първото нещо, което ще направим, е да изтеглим от хранилище. Кажете, че искате да инсталирате Ubuntu в контейнер, можете да изтеглите Ubuntu от хранилището:
docker pull ubuntu
Бъдете търпеливи, тъй като това може да отнеме известно време. След като всичко бъде изтеглено, можете да създадете контейнер с тази ОС:
docker run -i -t ubuntu /bin/bash
Или с Debian, например:
docker run -i -t debian /bin/bash
Ако не може да намери операционната система (все още не е изтеглена), тя автоматично ще я изтегли от Docker Hub.
На практика вече имате контейнер! Вие изпълнявате bash в намаления контейнер, който се управлява от Docker. Опитайте да изпълните някои общи команди на Linux, за да усетите средата.
Когато пишете, за exitда излезете от контейнера и да се върнете към основната си ОС, всичките ви промени ще бъдат изчезнали. За да запазим промените в контейнер, ние използваме commits.
Ангажира
Когато създадете Docker контейнер, неговото име на хост се генерира автоматично. Например, когато създам нов контейнер на Ubuntu, може да получа името на хоста f7943e42aff0. Това е името, което Docker е дал на вашия контейнер.
Инсталирайте каквото искате върху него и се уверете, че всичко работи. След това излезте от вашия Docker контейнер:
exit
Сега трябва да се ангажираме; в противен случай всичките ви промени ще бъдат загубени.
docker commit -a "William E." -m "Installed Apache" f7943e42aff0 apachesnapshot
В -aключа може да се използва правилно да се определи кой е автор, който се ангажира (който е направил промени в контейнера). -mе съобщението за извършване. Това f7943e42aff0е името на хоста на моя контейнер. Във вашия случай ще се различава, тъй като Docker ги генерира на случаен принцип. apachesnapshotе името на вашето изображение.
Можете да видите списък с всички изображения на вашата локална машина. Най-новите са на върха.
docker images
За да стартирате вашия Docker контейнер с промените, изпълнете:
docker run -t -i apachesnapshot /bin/bash
Използване на Dockerfiles
Dockerfiles могат да се използват за създаване на изображения с вече инсталирани приложения. Това го прави удобно да стартирате контейнер, без да се налага да изпълнявате конкретна команда. Например, ако искаме да създадем изображение с ~/file.txtвече създадения файл , ще използваме следния Dockerfile:
FROM ubuntu:14.04
MAINTAINER William E. <william@localhost>
RUN touch ~/file.txt
За да създадете Docker контейнер с този Dockerfile, направете папка за вашия Dockerfile на вашата локална машина (аз използвах ~/files). Поставете съдържанието на вашия Dockerfile във файл, наречен Dockerfile. Вече можете да създадете изображение с него, като изпълните:
docker build -t="test" .
Това създава изображение на Docker от вашия скрипт на Dockerfile. Вече можете да стартирате контейнера си. testе същата стойност като testв docker buildкомандата.
docker run -t -i test /bin/bash
Когато bash shell се отвори, ще видите, че ~/file.txtвече е създаден.
Това е само вкус на мощните среди, които можете да създадете с помощта на Docker. Официалното ръководство на Docker отива в много по-голяма дълбочина по тези теми. На този етап би трябвало да можете да експериментирате с стартиране на съществуващи контейнери и да започнете да изобразявате свои собствени.
Написано от Уилям Дейвид Едуардс