Заметки по Docker
Введение
Дополнительная информация будет немного позже.
Установка Docker в Debian 9 (Stretch)
Проверка и удаление возможно имеющихся старых версий Docker
sudo apt-get -y remove docker docker-engine docker.io
Обновление списка пакетов и установка необходимых компонентов
sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates wget software-properties-common
Добавление GPG ключа для хранилища Docker
wget -O /tmp/docker.gpg https://download.docker.com/linux/debian/gpg sudo apt-key add /tmp/docker.gpg
Добавление строки в /etc/apt/sources.list
deb [arch=amd64] https://download.docker.com/linux/debian stretch stable
echo "deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" | sudo tee -a /etc/apt/sources.list.d/docker.list
Обновление списка пакетов и установка Docker
sudo apt-get update sudo apt-get -y install docker-ce
Старт Docker и вслючение автозапуска при перезагрузке
sudo systemctl start docker sudo systemctl enable docker
Создание группы Docker и внесение текущего пользователя в неё
sudo groupadd docker sudo gpasswd -a $USER docker
После рестарта Docker готов к эксплуатации
sudo systemctl restart docker
Установка Docker в Debian 8 (Jessie)
Вписать строку в /etc/apt/sources.list
deb http://ftp.debian.org/debian jessie-backports main
Выполнить обновление списка пакетов
apt-get update
Установить Docker
apt-get -t jessie-backports install --no-install-recommends docker.io [make]
Будет предложено установить пакеты
aufs-tools ca-certificates cgroupfs-mount libapparmor1 libdrm2 libnih-dbus1 libnih1 makedev mountall plymouth xz-utils
Создание и запуск контейнера
Скачать архив и зайти в него
git clone https://github.com/ZigFisher/MyDocker.git cd ./MyDocker
Создать имидж из файла Dockerfile_micro
docker build -t micro_20160503 -f ./Dockerfile_micro .
Вывести список всех доступных имиджей
docker images
Создать из имиджа micro и запустить контейнер testserv с пробросом портов
docker run -d --name microserv --hostname microserv -p 1022:22/tcp --restart=always micro_20160503
Создать из имиджа micro и запустить контейнер testserv без собственной сетевой подсистемы
docker run -d --name microserv --hostname microserv --net=host --restart=always micro_20160503
Вывести список всех доступных контейнеров (microserv)
docker ps -a
Войти в контейнер
docker exec -it microserv bash
docker stop container01 docker commit container01 image01 docker rm container01 docker run -d -P --name container01 image01
Скрипт от Docker для создания базовой системы
https://raw.githubusercontent.com/docker/docker/master/contrib/mkimage.sh
Пример выполнения скрипта
mkimage.sh -d . debootstrap --variant=minbase --components=main --include=inetutils-ping,iproute2 --force-check-gpg jessie http://httpredir.debian.org/debian
Как узнать IP контейнера ?
zig@clipeus:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b81bd00ef102 openwrt_2016062304:latest "/usr/sbin/runsvdir- 3 months ago Up 36 hours 22/tcp openwrt04
zig@clipeus:~$ docker inspect --format '' b81bd00ef102 10.0.0.1
Внешние ссылки
- Зачем нужен Docker и практика работы с ним
- Управление сетевыми интерфейсами в Docker
- Введение в Docker
- Команды для работы с Docker
- Learn the right way to build your Dockerfile
- A minimal Ubuntu base image modified for Docker-friendliness
- Automating the creation of docker images
- Как установить Docker на Debian 9 Stretch
- Install Docker In Debian 9 Stretch
- How to install Docker on Debian Stretch