Страница 2 из 3
Re: ... и снова Docker
Добавлено: 23 окт 2020, 20:31
Olej
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ time wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce_19.03.13~3-0~ubuntu-focal_amd64.deb
--2020-10-23 19:07:27-- https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce_19.03.13~3-0~ubuntu-focal_amd64.deb
Распознаётся download.docker.com (download.docker.com)… 54.239.192.119, 54.239.192.121, 54.239.192.105, ...
Подключение к download.docker.com (download.docker.com)|54.239.192.119|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 22563546 (22M) [binary/octet-stream]
Сохранение в: «docker-ce_19.03.13~3-0~ubuntu-focal_amd64.deb»
docker-ce_19.03.13~3-0~ubuntu-focal_amd64.deb 100%[===============================================================================================>] 21,52M 321KB/s за 63s
2020-10-23 19:08:31 (347 KB/s) - «docker-ce_19.03.13~3-0~ubuntu-focal_amd64.deb» сохранён [22563546/22563546]
real 1m4,009s
user 0m0,228s
sys 0m0,503s
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ time wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce-cli_19.03.13~3-0~ubuntu-focal_amd64.deb
--2020-10-23 20:25:55-- https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce-cli_19.03.13~3-0~ubuntu-focal_amd64.deb
Распознаётся download.docker.com (download.docker.com)… 54.239.192.121, 54.239.192.119, 54.239.192.96, ...
Подключение к download.docker.com (download.docker.com)|54.239.192.121|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 44170142 (42M) [binary/octet-stream]
Сохранение в: «docker-ce-cli_19.03.13~3-0~ubuntu-focal_amd64.deb»
docker-ce-cli_19.03.13~3-0~ubuntu-focal_amd64 100%[===============================================================================================>] 42,12M 357KB/s за 2m 4s
2020-10-23 20:27:59 (348 KB/s) - «docker-ce-cli_19.03.13~3-0~ubuntu-focal_amd64.deb» сохранён [44170142/44170142]
real 2m4,482s
user 0m0,506s
sys 0m0,859s
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ time wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/containerd.io_1.3.7-1_amd64.deb
--2020-10-23 20:29:06-- https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/containerd.io_1.3.7-1_amd64.deb
Распознаётся download.docker.com (download.docker.com)… 54.239.192.96, 54.239.192.119, 54.239.192.121, ...
Подключение к download.docker.com (download.docker.com)|54.239.192.96|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 24338714 (23M) [binary/octet-stream]
Сохранение в: «containerd.io_1.3.7-1_amd64.deb»
containerd.io_1.3.7-1_amd64.deb 100%[===============================================================================================>] 23,21M 1,08MB/s за 21s
2020-10-23 20:29:27 (1,11 MB/s) - «containerd.io_1.3.7-1_amd64.deb» сохранён [24338714/24338714]
real 0m21,185s
user 0m0,221s
sys 0m0,481s
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ ls -l *.deb
-rw-rw-r-- 1 olej olej 24338714 сен 17 20:58 containerd.io_1.3.7-1_amd64.deb
-rw-rw-r-- 1 olej olej 22563546 окт 22 22:53 docker-ce_19.03.13~3-0~ubuntu-focal_amd64.deb
-rw-rw-r-- 1 olej olej 44170142 окт 22 22:53 docker-ce-cli_19.03.13~3-0~ubuntu-focal_amd64.deb
Re: ... и снова Docker
Добавлено: 23 окт 2020, 20:41
Olej
Установка:
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ time sudo dpkg -i containerd.io_1.3.7-1_amd64.deb
Выбор ранее не выбранного пакета containerd.io.
(Чтение базы данных … на данный момент установлено 268590 файлов и каталогов.)
Подготовка к распаковке containerd.io_1.3.7-1_amd64.deb …
Распаковывается containerd.io (1.3.7-1) …
Настраивается пакет containerd.io (1.3.7-1) …
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
Обрабатываются триггеры для man-db (2.9.1-1) …
real 0m4,649s
user 0m3,986s
sys 0m0,806s
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ time sudo dpkg -i docker-ce-cli_19.03.13~3-0~ubuntu-focal_amd64.deb
Выбор ранее не выбранного пакета docker-ce-cli.
(Чтение базы данных … на данный момент установлено 268606 файлов и каталогов.)
Подготовка к распаковке docker-ce-cli_19.03.13~3-0~ubuntu-focal_amd64.deb …
Распаковывается docker-ce-cli (5:19.03.13~3-0~ubuntu-focal) …
Настраивается пакет docker-ce-cli (5:19.03.13~3-0~ubuntu-focal) …
Обрабатываются триггеры для man-db (2.9.1-1) …
real 0m9,241s
user 0m9,137s
sys 0m2,296s
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ time sudo dpkg -i docker-ce_19.03.13~3-0~ubuntu-focal_amd64.deb
Выбор ранее не выбранного пакета docker-ce.
(Чтение базы данных … на данный момент установлено 268808 файлов и каталогов.)
Подготовка к распаковке docker-ce_19.03.13~3-0~ubuntu-focal_amd64.deb …
Распаковывается docker-ce (5:19.03.13~3-0~ubuntu-focal) …
Настраивается пакет docker-ce (5:19.03.13~3-0~ubuntu-focal) …
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.
Обрабатываются триггеры для systemd (245.4-4ubuntu3.2) …
real 0m4,682s
user 0m2,403s
sys 0m0,395s
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ aptitude search docker | grep ^i
i docker-ce - Docker: the open-source application container engine
i docker-ce-cli - Docker CLI: the open-source application container engine
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ ls -l /lib/systemd/system/*docker*
-rw-r--r-- 1 root root 1683 сен 16 20:01 /lib/systemd/system/docker.service
-rw-r--r-- 1 root root 197 сен 16 20:01 /lib/systemd/system/docker.socket
Re: ... и снова Docker
Добавлено: 23 окт 2020, 20:43
Olej
Olej писал(а): ↑23 окт 2020, 20:41
Установка:
Запущенный демон:
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-10-23 20:34:48 EEST; 7min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 2653180 (dockerd)
Tasks: 11
Memory: 39.9M
CGroup: /system.slice/docker.service
└─2653180 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
окт 23 20:34:48 olej-H81M-DS2V dockerd[2653180]: time="2020-10-23T20:34:48.598648202+03:00" level=warning msg="Your kernel does not support cgroup rt runtime"
окт 23 20:34:48 olej-H81M-DS2V dockerd[2653180]: time="2020-10-23T20:34:48.598655459+03:00" level=warning msg="Your kernel does not support cgroup blkio weight"
окт 23 20:34:48 olej-H81M-DS2V dockerd[2653180]: time="2020-10-23T20:34:48.598662653+03:00" level=warning msg="Your kernel does not support cgroup blkio weight_device"
окт 23 20:34:48 olej-H81M-DS2V dockerd[2653180]: time="2020-10-23T20:34:48.599195515+03:00" level=info msg="Loading containers: start."
окт 23 20:34:48 olej-H81M-DS2V dockerd[2653180]: time="2020-10-23T20:34:48.740586670+03:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Da>
окт 23 20:34:48 olej-H81M-DS2V dockerd[2653180]: time="2020-10-23T20:34:48.805685230+03:00" level=info msg="Loading containers: done."
окт 23 20:34:48 olej-H81M-DS2V dockerd[2653180]: time="2020-10-23T20:34:48.859100213+03:00" level=info msg="Docker daemon" commit=4484c46d9d graphdriver(s)=overlay2 version=19.03.13
окт 23 20:34:48 olej-H81M-DS2V dockerd[2653180]: time="2020-10-23T20:34:48.859200479+03:00" level=info msg="Daemon has completed initialization"
окт 23 20:34:48 olej-H81M-DS2V dockerd[2653180]: time="2020-10-23T20:34:48.913240231+03:00" level=info msg="API listen on /run/docker.sock"
окт 23 20:34:48 olej-H81M-DS2V systemd[1]: Started Docker Application Container Engine.
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ systemctl is-enabled docker.service
enabled
Утилита управления:
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ docker --help
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
--config string Location of client config files (default "/home/olej/.docker")
-c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use")
-D, --debug Enable debug mode
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default "/home/olej/.docker/ca.pem")
--tlscert string Path to TLS certificate file (default "/home/olej/.docker/cert.pem")
--tlskey string Path to TLS key file (default "/home/olej/.docker/key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
Management Commands:
builder Manage builds
config Manage Docker configs
container Manage containers
context Manage contexts
engine Manage the docker engine
image Manage images
network Manage networks
node Manage Swarm nodes
plugin Manage plugins
secret Manage Docker secrets
service Manage services
stack Manage Docker stacks
swarm Manage Swarm
system Manage Docker
trust Manage trust on Docker images
volume Manage volumes
Commands:
attach Attach local standard input, output, and error streams to a running container
build Build an image from a Dockerfile
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
deploy Deploy a new stack or update an existing stack
diff Inspect changes to files or directories on a container's filesystem
events Get real time events from the server
exec Run a command in a running container
export Export a container's filesystem as a tar archive
history Show the history of an image
images List images
import Import the contents from a tarball to create a filesystem image
info Display system-wide information
inspect Return low-level information on Docker objects
kill Kill one or more running containers
load Load an image from a tar archive or STDIN
login Log in to a Docker registry
logout Log out from a Docker registry
logs Fetch the logs of a container
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
ps List containers
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
rmi Remove one or more images
run Run a command in a new container
save Save one or more images to a tar archive (streamed to STDOUT by default)
search Search the Docker Hub for images
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
version Show the Docker version information
wait Block until one or more containers stop, then print their exit codes
Run 'docker COMMAND --help' for more information on a command.
Re: ... и снова Docker
Добавлено: 23 окт 2020, 20:47
Olej
Olej писал(а): ↑23 окт 2020, 20:43
Утилита управления:
Проверка функционирования:
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:8c5aeeb6a5f3ba4883347d3747a7249f491766ca1caa47e5da5dfcf6b9b717c0
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 9 months ago 13.3kB
Re: ... и снова Docker
Добавлено: 23 окт 2020, 20:57
Olej
Olej писал(а): ↑23 окт 2020, 20:47
Проверка функционирования:
Добавляем пользователя (-лей) в группу docker:
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ cat /etc/group | grep docker
docker:x:998:
olej@olej-H81M-DS2V:~/work$ id olej
uid=1000(olej) gid=1000(olej) группы=1000(olej),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),131(lxd),132(sambashare)
Код: Выделить всё
olej@olej-H81M-DS2V:~/work$ sudo usermod -a -G docker olej
olej@olej-H81M-DS2V:~/work$ cat /etc/group | grep docker
docker:x:998:olej
olej@olej-H81M-DS2V:~/work$ id olej
uid=1000(olej) gid=1000(olej) группы=1000(olej),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),131(lxd),132(sambashare),998(docker)
Re: ... и снова Docker
Добавлено: 01 ноя 2020, 21:35
Olej
Olej писал(а): ↑23 окт 2020, 20:57
Добавляем пользователя (-лей) в группу docker:
После этого работа с Docker
без sudo.
Re: ... и снова Docker
Добавлено: 01 ноя 2020, 21:44
Olej
Olej писал(а): ↑01 ноя 2020, 21:35
После этого работа с Docker без sudo.
Как почистить за docker следы (достаточно объёмные!) его деятельности? - docker нам сам подскажет!
Вот пример итогов одного из неудачных сеансов использования:
Код: Выделить всё
olej@ACER:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> c55d3a80c26f 18 minutes ago 74.8MB
ubuntu 20.04 d70eaf7277ea 9 days ago 72.9MB
Код: Выделить всё
olej@ACER:~$ docker rmi d70eaf7277ea
Error response from daemon: conflict: unable to delete d70eaf7277ea (cannot be forced) - image has dependent child images
olej@ACER:~$ docker rmi c55d3a80c26f
Error response from daemon: conflict: unable to delete c55d3a80c26f (must be forced) - image is being used by stopped container 274eaba2de8d
Не тут-то было!
В 1-м случае - зависимые имиджи, во 2-м - на имидже создан контейнер...
По порядку, снизу-вверх удаляем, сначала контейнеры, затем освободившиеся имиджи:
Код: Выделить всё
olej@ACER:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
274eaba2de8d c55d3a80c26f "/bin/sh -c 'dpkg --…" 22 minutes ago Exited (100) 20 minutes ago affectionate_knuth
olej@ACER:~$ docker rm 274eaba2de8d
274eaba2de8d
olej@ACER:~$ docker rmi c55d3a80c26f
Deleted: sha256:c55d3a80c26fd3a033f83382545168ace475448dabb6b47f5650c700e89a22b7
Deleted: sha256:95884b36c7a213644767e0794da564fe3f52c4de72518c730660fb09ac4b2417
Deleted: sha256:39936a5fbbb22b6f12d50e951db69c50f6b6611508cfea7e30b416f4c8f2c160
Deleted: sha256:8ff90a6191a49e189d36f57dee4cf71349ffeb4cf5664647f9b0525d51ee5a74
Deleted: sha256:51c100f3c34b1af6fdbcde830e70013cb5b10aec829383194db330d50ddf2eca
Deleted: sha256:91d3bb9fe905730f3a2ede534d2697b0d827b7fc07267cb5ab9c6a198399b8ab
Deleted: sha256:0b2d4f69a7e770a4501059f5338b9523685f55a1c773373617d6d2ae38554e27
Deleted: sha256:14d741df954517c4e235061d5844042f2789cdb40332f7426c127d16f7512e42
Deleted: sha256:404cb4ca1e63c010ee5ce1972f670eb6664facdf841c51e3ef09e787b2e217d0
Deleted: sha256:dcf579f49a57f2dcec8baf4309d32c4c1007e887930cddd022dc45a52e5e1cf1
Deleted: sha256:904dc946716ee204d6e4008bf662d98f01c99adc9a2efaaac42500c17c05ea40
Deleted: sha256:632f6492427141c4cd3e03b4fcfc0e21c6445d4c98b493105f4e9d5eb9e2fe7b
Deleted: sha256:f9876aa9fac3c70d056a320cc68e313382f43b317e32f41bffef4f6b1a0228f7
Deleted: sha256:7f6340f46c1e19129f2fab98a719fdbaee8e5129fd00854b9b84ffe05d996f34
olej@ACER:~$ docker rmi d70eaf7277ea
Untagged: ubuntu:20.04
Untagged: ubuntu@sha256:fff16eea1a8ae92867721d90c59a75652ea66d29c05294e6e2f898704bdb8cf1
Deleted: sha256:d70eaf7277eada08fca944de400e7e4dd97b1262c06ed2b1011500caa4decaf1
Deleted: sha256:778d52487737cf5362fd95086fa55793001dbc7b331344a540a594824e2994fd
Deleted: sha256:7011438f48b79cbf5fce3bfba74aed2e53fe5fe6a3b7fd6fe03018d28caee7a3
Deleted: sha256:47dde53750b4a8ed24acebe52cf31ad131e73a9611048fc2f92c9b6274ab4bf3
Вот теперь следов жизнедеятельности этого docker не госталось:
Код: Выделить всё
olej@ACER:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
Re: ... и снова Docker
Добавлено: 03 фев 2021, 00:55
Olej
Olej писал(а): ↑23 окт 2020, 20:57
Добавляем пользователя (-лей) в группу docker:
Olej писал(а): ↑01 ноя 2020, 21:35
После этого работа с Docker без sudo.
Это так ... да не совсем так, и на этой самонадеянности я потерял часа 4 времени при инсталляции на новый компьютер
После того, как добавили пользователя в группу Docker, нужно
перезагрузить компьютер - Docker-сервис уже стартовал, и он не будет перечитывать права пользователей после того, как вы его запустили.
P.S. В случае многих других серверов-сервисов в подобных случаях бывает достаточно а). перезапустить сервис, или б). послать серверу сигнал на перечитывание конфигураций ... как в этом смысле с Docker - не знаю.
Re: ... и снова Docker
Добавлено: 03 фев 2021, 01:10
Olej
С Docker происходит ещё одна удивительная штука.
Сегодня, при запуске на компьютере, где под Docker собирался ещё 3 дня назад огромный проект:
Код: Выделить всё
...
Run build...
docker: Error response from daemon: cgroups: cgroup mountpoint does not exist: unknown.
ERRO[0013] error waiting for container: context canceled.
О-па-па...
Начинаю разбираться...
Система:
Код: Выделить всё
[olej@xenix ~]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 32 (Thirty Two)
Release: 32
Codename: ThirtyTwo
Установлен Docker ... если и не последний, то предпоследний (не из репозитория, а из проекта):
Код: Выделить всё
[olej@xenix valhalla]$ dnf list installed docker-ce
Установленные пакеты
docker-ce.x86_64 3:19.03.13-3.fc32
И ... покопавшись немало ... находим:
How To Install Docker On Fedora 32 Or 31 (And Alternatives)
Fedora 31 switched to cgroup v2, being the first major Linux distribution to do so. Docker doesn't support cgroup v2 though, so it doesn't work on the latest Fedora release.
Установка Docker в Fedora 31
Об этом в Fedora пишут:
Changes/CGroupsV2
The kernel has had some support for CgroupsV2 for some time, and yet no one has used it because it is not on by default. There are lots of new features and fixes over CgroupsV1 that it is time to reveal to the user community.
Fedora 31 and Control Group v2
Re: ... и снова Docker
Добавлено: 03 фев 2021, 01:17
Olej
Olej писал(а): ↑03 фев 2021, 01:10
покопавшись немало ... находим:
Проверка:
Код: Выделить всё
[olej@xenix valhalla]$ docker run --rm hello-world:latest
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete.
Digest: sha256:31b9c7d48790f0d8c50ab433d9c3b7e17666d6993084c002c2ff1ca09b96391d
Status: Downloaded newer image for hello-world:latest
docker: Error response from daemon: cgroups: cgroup mountpoint does not exist: unknown.
Таки да ... неработоспособен на простейших тестовых примерах...
Лечим (как - написано более чем достаточно в ссылках выше!):
Код: Выделить всё
[olej@xenix ~]$ which grubby
/usr/sbin/grubby
Код: Выделить всё
[olej@xenix ~]$ sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
[sudo] пароль для olej:.
[olej@xenix ~]$
Это действие перезапишет строки загрузки GRUB !:
Код: Выделить всё
[olej@xenix ~]$ cat /proc/cmdline
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.10.11-100.fc32.x86_64 root=UUID=d0c2512d-1e50-4057-99dc-19a989152be9 ro rootflags=subvol=root00 rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 rhgb quiet systemd.unified_cgroup_hierarchy=0
Перезагрузка! (кому повезёт и у кого она произойдёт
)