Docker: различия между версиями

Материал из Artem Aleksashkin's Wiki
Перейти к навигации Перейти к поиску
Строка 69: Строка 69:
docker push registry.aleksashkin.net/golang:1.16.13-alpine
docker push registry.aleksashkin.net/golang:1.16.13-alpine
</pre>
</pre>
и заменяем все упоминания этого образа

Версия от 03:48, 2 июля 2024

Docker - это система сборки и распространения контейнеров(для формирования нужного окружения).

Основы: слоеная файловая система(ос, настройки, софт), chroot, квоты и 1 процесс приложения. Философия докера подразумевает, что вы запускаете 1 процесс в обертке. Docker не является системой виртуализации. Это система для сбора всего окружения и запуска в режиме изоляции. С хостом общим остается только ядро ОС.

В остальном очень похоже на виртуализацию. Можно монтировать директории, работать с сетью и многое другое.

Ссылки

Установка

sudo apt-get remove docker docker-engine docker.io
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
sudo usermod -aG docker $USER
docker run hello-world
sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Stop and remove all docker containers and images

docker ps -aq
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rmi $(docker images -q)
docker volume prune

Push tag

docker tag e0414c565856 ecommercemarket:0.0.1
docker tag ecommercemarket:0.0.1 registry.aleksashkin.net:5000/ecommercemarket
docker push registry.aleksashkin.net:5000/ecommercemarket

Copy file from container

docker create -ti --name dummy IMAGE_NAME bash
docker cp dummy:/path/to/file /dest/to/file
docker rm -fv dummy

Change links on php config Ubuntu

rm -rf .docker/php
docker cp 7be7e772cb3d:/etc/php .docker/
cd .docker/php/8.2/cli/conf.d
for i in `ls -1`; do j=`echo $i | awk -F\- '{print $2}'`; rm -v $i; ln -s ../../mods-available/${j} $i; done;
cd -
cd .docker/php/8.2/fpm/conf.d
for i in `ls -1`; do j=`echo $i | awk -F\- '{print $2}'`; rm -v $i; ln -s ../../mods-available/${j} $i; done;
cd -

Docker HUB 403

403 Forbidden Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses that are located in Cuba, Iran, North Korea, Republic of Crimea, Sudan, and Syria. If you are not in one of these cities, countries, or regions and are blocked, please reach out to https://hub.docker.com/support/contact/

docker pull golang:1.16.13-alpine
docker tag golang:1.16.13-alpine registry.aleksashkin.net/golang:1.16.13-alpine
docker push registry.aleksashkin.net/golang:1.16.13-alpine

и заменяем все упоминания этого образа