Compare commits

...

2 Commits

Author SHA1 Message Date
bebdfecaf7 +
All checks were successful
Build MkDocs / build-and-deploy (push) Successful in 14s
2025-02-10 16:58:24 +03:00
76ec340521 + 2025-02-09 20:47:57 +03:00
4 changed files with 54 additions and 10 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
@ -66,4 +71,44 @@ depends_on:
#### &&
Оператор `&&` в командах оболочки используется для цепочки команд, где следующая команда выполняется только если предыдущая выполнилась успешно (с кодом возврата 0).
Оператор `&&` в командах оболочки используется для цепочки команд, где следующая команда выполняется только если предыдущая выполнилась успешно (с кодом возврата 0).
#### `>-` и `|-`
Когда нужно указать много переменных окружения в compose можно использовать `>-`
```
text: >-
Это первая строка
Это вторая строка
# РЕЗУЛЬТАТ
Это первая строка Это вторая строка
```
```
# Ещё пример
environment:
CATALINA_OPTS: >-
-XX:+UseContainerSupport
-XX:MaxRAMPercentage=80.0
-server
-XX:+UseParallelGC
-Dfile.encoding=UTF-8
-Djava.security.egd=file:/dev/./urandom
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9000
-Dcom.sun.management.jmxremote.rmi.port=9000
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=
```
При использовании `|-` переносы строк сохраняются как есть
```
text: |-
Это первая строка
Это вторая строка
### РЕЗУЛЬТАТ
Это первая строка
Это вторая строка
```

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

@ -5,7 +5,6 @@
- `sysdm.cpl`
- Дополнительно -> Быстродействие (параметры) -> Дополнительно -> Витульная память
---
#### Как посмотреть блочные устройства RAM ?
@ -15,17 +14,12 @@
- `Get-WmiObject Win32_PhysicalMemory | Select-Object Manufacturer, @{Name="Capacity(GB)";Expression={[math]::Round($_.Capacity / 1GB, 2)}}, Speed, PartNumber, DeviceLocator | Format-Table` - в Gb
---
#### Работа с переменными среды
- `Win+R`
- `sysdm.cpl`
- Дополнительно -> Переменные среды
---
#### Как расширить диск
- `Win+R`
@ -33,7 +27,7 @@
`AOMEI Partition Assistant` - для работы с дисками
##### Реестр
#### Реестр
- `Win+R`
- `regedit`