Инструменты пользователя

Инструменты сайта


осн_ком2

Образ - шаблон только для чтения

Реестры хранилище образов hub.docker.com

Контейнеры - создаются из образа и содержут все что надо для работы приложения

Установка docker

sudo yum install -y yum-utils \

device-mapper-persistent-data \
lvm2

yum-config-manager \

  1. -add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

yum install docker-ce docker-ce-cli containerd.io

systemctl enable docker systemctl start docker

Установка Docker compose

curl -L «https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)» -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

docker-compose –version

Настройка системы

usermod -aG docker kirill

основные команды docker docker run -it debian bash - создание контейнера с интерактивным терминалом на базе образа debian и запустить интерпритатор bash (-it интерактив терминал ) docker run -it -h container.mkm debian bash - создание контейнера с указанным hostname docker run -it -h container.mkm –name container_kirilla debian bash

docker ps -a - просмотр всех контейнеров, в том числе и остановленных
docker images - посмотреть список всех образов

docker start nameconainer - запуск созданного контейнера по имени docker start idcontainer запуск созданного контейнера по id

docker inspect containername получение информации о контейнере по имени docker inspect containerid получение информации о контейнере по id

docker diff container_name - посмотерть изменения в котейнере

docker logs container_name - вывсти список событий контейнера

docker exec -it container_kirilla bash - зайти в контейнер

установим mc внутри контейнера

проверим чем отличаются нынешнее состояние контейнера от оригинального образа

docker diff blissful_tharp

docker ps -aq -f status=exited - вывод всех котнейнеров со стетусом exited

docker rm containername/containerid -удаление контейнера

docker rm $(docker ps -aq -f status=exited) - подстановка всех остановленных контейнеров в удаление

docker run -d bintami/apache -запускаем в фоновом режиме контейнер из образа bintami/apache с docker hub docker run -d httpd -запускаем в фоновом режиме контейнер из образа bintami/apache с docker hub docker ps -a смотрим испрльзуемые порты docker stop containername/containerid docker run -d -p 80:80 httpd - запуск с пробросом портов проброс порта осуществляется только при создании контейнера если там уже что-то переделано сохраняем в image и раскатываем заново docker exec -i -t

создание собственного образа в hub.docker.com

регистрируемся и создаем публичный или приватный репозиторий

создадим контейнер с правильными названием и хостнеймом

docker run -it –name mc –hostname mc.localhost centos bash

Внутри него установим и настроим нужный софт

превращаем контейнер в образ docker commit mc kmmorozov/mc логинимся на hub.docker.com docker login - логинимся docker push kmmorozov/mc - заливаем образ

для проверки удаляем все контейнеры и образы

docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) docker rmi $(docker images -a -q)

docker run -it kmmorozov/mc bash

работа с dockerfile

создадим каталог с для проекта

mkdir myfirstapp

создадим файл с инструкциями

touch Dockerfile

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

FROM centos

RUN yum -y update && yum install mc -y

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

docker build -t kmmorozov/centosmc .

инструкция ENTRYPOINT

создадим папку для проекта counter

mkdir echo1

touch Dockerfile

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

MAINTAINER Kirill Morozov kmmorozov@gmail.com

RUN yum -y update

ENTRYPOINT [«echo»]

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

docker build -t kmmorozov/echo1

Синтаксис файла https://dker.ru/docs/docker-engine/engine-reference/dockerfile-reference/

пример с апачем

mkdir apache

cd apache

touch Dockerfile в папке проекта создаем папку ./public-html/ и там index.html с текстом

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

FROM httpd:2.4

MAINTAINER Kirill Morozov kmmorozov@gmail.com

COPY ./public-html/ /usr/local/apache2/htdocs/

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

docker build -t kmmorozov/apache

связка двух контейнеров phpmyadmin и mysql найдем mysql на dockerhub

docker run –name mymysql -e MYSQLROOTPASSWORD=123qaz -d mysql

docker run –name mymyadmin -d –link mymysql:db -p 8080:80 phpmyadmin/phpmyadmin

осн_ком2.txt · Последнее изменение: 2021/04/05 16:00 — kirill

DokuWiki Appliance - Powered by TurnKey Linux