This commit is contained in:
Илья Макаров 2025-02-09 20:47:57 +03:00
parent 4b3dee095f
commit 76ec340521
4 changed files with 13 additions and 3 deletions

View File

@ -7,6 +7,9 @@
### Разное
#### ARG
[Статья](https://www.docker.com/blog/docker-best-practices-using-arg-and-env-in-your-dockerfiles/)
`Аргументы сборки (ARG)` не сохраняются в конечном образе. ARG используется для передачи значений на этапе сборки. Эти значения доступны только во время сборки образа и не сохраняются в конечном образе. Также ARG не сохраняется в слоях образа, т.е. с помощью `docker history <image_name>:<tag>` значение переменной не посмотреть. Нельзя получить доступ к значению ARG из финального образа.
#### Как докер ищет образы?
@ -31,6 +34,8 @@ services:
#### В чём разница сежду ENTRYPOINT и CMD
[Статья](https://www.docker.com/blog/docker-best-practices-choosing-between-run-cmd-and-entrypoint/)
ENTRYPOINT и CMD [] (без квадратных скобок оболочка будет использована) не использует оболочку для выполнения команды, команда передаётся напрямую процессу, то есть пайпы и всякие приблуды оболочки не работают
Docker не запускает оболочку, а передает команду напрямую в процесс.
@ -40,8 +45,8 @@ docker run image:tag comand
```
ENTRYPOINT задает команду, которая всегда будет выполняться при запуске контейнера. ENTRYPOINT используется для установки основной команды, которая должна быть выполнена, и она не может быть переопределена при запуске контейнера.
- `ENTRYPOINT` задаёт команду, которая всегда будет выполняться. Она не может быть переопределена при запуске контейнера.
- `CMD` задаёт аргументы по умолчанию для `ENTRYPOINT`. Если `ENTRYPOINT` не указан, используется `CMD`, и `CMD` можно переопределить при запуске контейнера
- `ENTRYPOINT` задаёт команду, которая всегда будет выполняться. Она не должна быть переопределена при запуске контейнера.
- `CMD` задаёт аргументы по умолчанию для `ENTRYPOINT`. Если `ENTRYPOINT` не указан, используется `CMD`, и `CMD` можно легко переопределить при запуске контейнера
```dockerfile
ENV MY_VAR=Hello

View File

@ -25,6 +25,7 @@
volumes:
db_data:
```
2. Anonymous Volume - создаётся и управляется Docker. Хранится в `/var/lib/docker/volumes/`, но вместо имени хэш, например, `/var/lib/docker/volumes/2f4b7c3e8e1a7d9b8b12d34c7e4b1234/`
```yaml
services:
@ -32,6 +33,7 @@
image: nginx
volumes:
- /usr/share/nginx/html
3. Bind Mount - привязка к директории или файлу на хосте. Если мы прокидываем файл и его не существует Docker создаст каталог.
```yaml
services:
@ -41,6 +43,7 @@
- ./html:/usr/share/nginx/html:ro
```
`:ro` - контейнеру том доступен только для чтения, по умолчанию доступен и на запись (`:rw`)
4. Tmpfs Mount - данные хранятся в оперативке (RAM), а не на диске, при перезапуске, удалении контейнера данные будут потеряны.
```yaml
services:
@ -49,6 +52,7 @@
tmpfs:
- /tmp
```
5. External Volume - внешний том, например, NFS.
```yaml
services:

View File

@ -282,6 +282,7 @@
- `find / -name <pg_config> 2>/dev/null`
- `wc -l <file_name>` - количетсво строк в файле
- `cat <file_name> | column` - для форматирования текста в виде таблицы
### Диски
- `fdisk -l`

View File

@ -33,7 +33,7 @@
`AOMEI Partition Assistant` - для работы с дисками
##### Реестр
#### Реестр
- `Win+R`
- `regedit`