Създаване на първия си 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 отива в много по-голяма дълбочина по тези теми. На този етап би трябвало да можете да експериментирате с стартиране на съществуващи контейнери и да започнете да изобразявате свои собствени.
Написано от Уилям Дейвид Едуардс