Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Когда использовать docker attach ? / 11 сообщений из 11, страница 1 из 1
09.01.2019, 18:25
    #39757446
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
Прочитал пару постов на тему сабжа и таки не понял когда вообще использовать docker attach

Для тех, кто не любит читать до конца - я в курсе про docker exec

https://stackoverflow.com/a/35584685/2674303
https://stackoverflow.com/questions/30960686/difference-between-docker-attach-and-docker-exec

Да, я понял, что если надо открыть что-то новое, то надо использовать docker exec, но какой сценарий использования docker attach ?

Вот например выполняю я команду:

Код: powershell
1.
$ docker run --name my_percona_test -e MYSQL_ROOT_PASSWORD=password percona


Код: powershell
1.
2.
3.
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                                             NAMES
c6b9c0b630fe        percona             "/docker-entrypoint.â¦"   About a minute ago   Up About a minute   3306/tcp                                          my_percona_test





и всё висит.

Честно говоря я не смог понять в чем проблема.

Объясните, пожалуйста, русским по белому.
...
Рейтинг: 0 / 0
09.01.2019, 18:44
    #39757454
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
Я так понял, что чтобы приаттачиться надо контейнер запускать в интерактивном режиме

https://stackoverflow.com/questions/44347397/what-is-docker-attach
Код: powershell
1.
docker run -itd ...



Но я чего-то не вкурил что мне это даёт.

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
$ winpty docker attach e8a5
Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
2019-01-09T15:34:19.686622Z 4 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:19.686663Z 4 [Warning] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:19.686706Z 4 [Warning] 'db' entry 'performance_schema mysql.session@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:19.686729Z 4 [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:19.686742Z 4 [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:19.686896Z 4 [Warning] 'tables_priv' entry 'user mysql.session@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:19.686935Z 4 [Warning] 'tables_priv' entry 'sys_config mysql.sys@localhost' ignored in --skip-name-resolve mode.

2019-01-09T15:34:19.753299Z 0 [Note] Giving 0 client threads a chance to die gracefully
2019-01-09T15:34:19.753343Z 0 [Note] Shutting down slave threads
2019-01-09T15:34:19.753348Z 0 [Note] Forcefully disconnecting 0 remaining clients
2019-01-09T15:34:19.753353Z 0 [Note] Event Scheduler: Purging the queue. 0 events
2019-01-09T15:34:19.753396Z 0 [Note] Binlog end
2019-01-09T15:34:19.753868Z 0 [Note] Shutting down plugin 'ngram'
2019-01-09T15:34:19.753895Z 0 [Note] Shutting down plugin 'partition'
2019-01-09T15:34:19.753899Z 0 [Note] Shutting down plugin 'ARCHIVE'
2019-01-09T15:34:19.753902Z 0 [Note] Shutting down plugin 'BLACKHOLE'
2019-01-09T15:34:19.753905Z 0 [Note] Shutting down plugin 'CSV'
2019-01-09T15:34:19.753908Z 0 [Note] Shutting down plugin 'MRG_MYISAM'
2019-01-09T15:34:19.753911Z 0 [Note] Shutting down plugin 'MyISAM'
2019-01-09T15:34:19.753918Z 0 [Note] Shutting down plugin 'MEMORY'
2019-01-09T15:34:19.753922Z 0 [Note] Shutting down plugin 'INNODB_TABLESPACES_SCRUBBING'
2019-01-09T15:34:19.753925Z 0 [Note] Shutting down plugin 'INNODB_TABLESPACES_ENCRYPTION'
2019-01-09T15:34:19.753928Z 0 [Note] Shutting down plugin 'INNODB_SYS_VIRTUAL'
2019-01-09T15:34:19.753930Z 0 [Note] Shutting down plugin 'INNODB_CHANGED_PAGES'
2019-01-09T15:34:19.753933Z 0 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2019-01-09T15:34:19.753935Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2019-01-09T15:34:19.753937Z 0 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2019-01-09T15:34:19.753940Z 0 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2019-01-09T15:34:19.753943Z 0 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2019-01-09T15:34:19.753945Z 0 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2019-01-09T15:34:19.753947Z 0 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2019-01-09T15:34:19.753950Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2019-01-09T15:34:19.753952Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2019-01-09T15:34:19.753955Z 0 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2019-01-09T15:34:19.753957Z 0 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2019-01-09T15:34:19.753959Z 0 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2019-01-09T15:34:19.753962Z 0 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2019-01-09T15:34:19.753964Z 0 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2019-01-09T15:34:19.753967Z 0 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2019-01-09T15:34:19.753969Z 0 [Note] Shutting down plugin 'INNODB_METRICS'
2019-01-09T15:34:19.753972Z 0 [Note] Shutting down plugin 'INNODB_TEMP_TABLE_INFO'
2019-01-09T15:34:19.753974Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2019-01-09T15:34:19.753976Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2019-01-09T15:34:19.753979Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2019-01-09T15:34:19.753981Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2019-01-09T15:34:19.753983Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2019-01-09T15:34:19.753986Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2019-01-09T15:34:19.753988Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM'
2019-01-09T15:34:19.753991Z 0 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2019-01-09T15:34:19.753993Z 0 [Note] Shutting down plugin 'INNODB_CMP'
2019-01-09T15:34:19.753996Z 0 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2019-01-09T15:34:19.753998Z 0 [Note] Shutting down plugin 'INNODB_LOCKS'
2019-01-09T15:34:19.754000Z 0 [Note] Shutting down plugin 'INNODB_TRX'
2019-01-09T15:34:19.754003Z 0 [Note] Shutting down plugin 'XTRADB_ZIP_DICT_COLS'
2019-01-09T15:34:19.754005Z 0 [Note] Shutting down plugin 'XTRADB_ZIP_DICT'
2019-01-09T15:34:19.754008Z 0 [Note] Shutting down plugin 'XTRADB_RSEG'
2019-01-09T15:34:19.754010Z 0 [Note] Shutting down plugin 'XTRADB_INTERNAL_HASH_TABLES'
2019-01-09T15:34:19.754013Z 0 [Note] Shutting down plugin 'XTRADB_READ_VIEW'
2019-01-09T15:34:19.754015Z 0 [Note] Shutting down plugin 'InnoDB'
2019-01-09T15:34:19.754060Z 0 [Note] InnoDB: FTS optimize thread exiting.
2019-01-09T15:34:19.754147Z 0 [Note] InnoDB: Starting shutdown...
2019-01-09T15:34:19.854451Z 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
2019-01-09T15:34:19.854682Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 190109 15:34:19
2019-01-09T15:34:21.056288Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2019-01-09T15:34:22.481778Z 0 [Note] InnoDB: Shutdown completed; log sequence number 11907957
2019-01-09T15:34:22.482870Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2019-01-09T15:34:22.482946Z 0 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2019-01-09T15:34:22.482997Z 0 [Note] Shutting down plugin 'sha256_password'
2019-01-09T15:34:22.483025Z 0 [Note] Shutting down plugin 'mysql_native_password'
2019-01-09T15:34:22.483315Z 0 [Note] Shutting down plugin 'binlog'
2019-01-09T15:34:22.489087Z 0 [Note] mysqld: Shutdown complete


MySQL init process done. Ready for start up.

2019-01-09T15:34:22.887285Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-01-09T15:34:22.888483Z 0 [Note] mysqld (mysqld 5.7.24-26) starting as process 1 ...
2019-01-09T15:34:22.905285Z 0 [Note] InnoDB: PUNCH HOLE support available
2019-01-09T15:34:22.905326Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-01-09T15:34:22.905330Z 0 [Note] InnoDB: Uses event mutexes
2019-01-09T15:34:22.905334Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2019-01-09T15:34:22.905337Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.7
2019-01-09T15:34:22.905340Z 0 [Note] InnoDB: Using Linux native AIO
2019-01-09T15:34:22.905545Z 0 [Note] InnoDB: Number of pools: 1
2019-01-09T15:34:22.905673Z 0 [Note] InnoDB: Using CPU crc32 instructions
2019-01-09T15:34:22.907384Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2019-01-09T15:34:22.911385Z 0 [Note] InnoDB: Completed initialization of buffer pool
2019-01-09T15:34:22.913562Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2019-01-09T15:34:22.958276Z 0 [Note] InnoDB: Crash recovery did not find the parallel doublewrite buffer at /var/lib/mysql/xb_doublewrite
2019-01-09T15:34:22.958752Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2019-01-09T15:34:23.265385Z 0 [Note] InnoDB: Created parallel doublewrite buffer at /var/lib/mysql/xb_doublewrite, size 3932160 bytes
2019-01-09T15:34:23.322423Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2019-01-09T15:34:23.322543Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-01-09T15:34:23.610988Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2019-01-09T15:34:23.613868Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2019-01-09T15:34:23.613974Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2019-01-09T15:34:23.615078Z 0 [Note] InnoDB: Waiting for purge to start
2019-01-09T15:34:23.665441Z 0 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.7.24-26 started; log sequence number 11907957
2019-01-09T15:34:23.667076Z 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2019-01-09T15:34:23.669907Z 0 [Note] Plugin 'FEDERATED' is disabled.
2019-01-09T15:34:23.710311Z 0 [Note] InnoDB: Buffer pool(s) load completed at 190109 15:34:23
2019-01-09T15:34:23.789586Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them.
2019-01-09T15:34:23.789622Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory.
2019-01-09T15:34:23.818544Z 0 [Warning] CA certificate ca.pem is self signed.
2019-01-09T15:34:23.818607Z 0 [Note] Skipping generation of RSA key pair as key files are present in data directory.
2019-01-09T15:34:23.819813Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2019-01-09T15:34:23.830177Z 0 [Note] IPv6 is available.
2019-01-09T15:34:23.832877Z 0 [Note]   - '::' resolves to '::';
2019-01-09T15:34:23.832909Z 0 [Note] Server socket created on IP: '::'.
2019-01-09T15:34:23.974941Z 0 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:23.975039Z 0 [Warning] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:23.975074Z 0 [Warning] 'db' entry 'performance_schema mysql.session@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:23.975087Z 0 [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:23.975165Z 0 [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:24.012752Z 0 [Warning] 'tables_priv' entry 'user mysql.session@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:24.012818Z 0 [Warning] 'tables_priv' entry 'sys_config mysql.sys@localhost' ignored in --skip-name-resolve mode.
2019-01-09T15:34:24.037318Z 0 [Note] Event Scheduler: Loaded 0 events
2019-01-09T15:34:24.038135Z 0 [Note] mysqld: ready for connections.
Version: '5.7.24-26'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Percona Server (GPL), Release 26, Revision c8fe767



Теперь при повторном аттаче всё стало висеть - непонятно как-то
...
Рейтинг: 0 / 0
09.01.2019, 18:46
    #39757457
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
questionerОбъясните, пожалуйста, русским по белому.там же в документации все написано:
авторUsage: docker attach [OPTIONS] CONTAINER

Attach local standard input, output, and error streams to a running container

т.е. attach нужно использовать тогда, когда нужно подсушить контейнеровские FD 0,1 и 2 к своим. Если вопрос состоит в том, когда такая тема может понадобиться, то ответ примерно такой: изначально (да и сейчас) предполагалось, что в докеровском контейнере (в lxc все не так) крутится один процесс и отличается оно от "локального" запуска того же процесса только тем, что процесс в докере крутится в изолированном окружении.
...
Рейтинг: 0 / 0
09.01.2019, 18:49
    #39757459
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
Андрей Панфиловт.е. attach нужно использовать тогда, когда нужно подсушить контейнеровские FD 0,1 и 2 к своим.


а что значит подсушить?
Что такое FD ?
Могу я как-то открыть баш в контейнере через аттач?
...
Рейтинг: 0 / 0
09.01.2019, 19:21
    #39757470
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
questionerЧто такое FD ?File descriptior - чуть ли не базовое понятие в UNIX.

questionerа что значит подсушить?

Ну вот так примерно контейнеры работают:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
root     155511  0.0  0.0   9048  1588 ?        Sl    2018   2:58  |   \_ docker-containerd-shim -namespace moby
root     155527  0.0  0.0  39644   132 ?        Ss    2018   0:00  |   |   \_ nginx: master process nginx -g daemon off;

ls -la /proc/155527/fd/{0,1,2}
lr-x------ 1 root root 64 Jan  9 11:07 /proc/155527/fd/0 -> pipe:[166910912]
l-wx------ 1 root root 64 Jan  9 11:07 /proc/155527/fd/1 -> pipe:[166910913]
l-wx------ 1 root root 64 Jan  9 11:07 /proc/155527/fd/2 -> pipe:[166910914]

ls -la /proc/155511/fd
total 0
dr-x------ 2 root root  0 Jan  9 11:08 .
dr-xr-xr-x 9 root root  0 Dec 27 12:26 ..
lr-x------ 1 root root 64 Jan  9 11:08 0 -> /dev/null
l-wx------ 1 root root 64 Jan  9 11:08 1 -> /dev/null
lr-x------ 1 root root 64 Jan  9 11:08 10 -> pipe:[166910913]
l--------- 1 root root 64 Jan  9 11:08 11 -> /run/docker/containerd/61241e6529fe785b84c3a9c9ffc43a1dde60df368260d10618bd37ec2b825b75/init-stdout
lr-x------ 1 root root 64 Jan  9 11:08 12 -> pipe:[166910914]
l-wx------ 1 root root 64 Jan  9 11:08 13 -> /run/docker/containerd/61241e6529fe785b84c3a9c9ffc43a1dde60df368260d10618bd37ec2b825b75/init-stdout
l--------- 1 root root 64 Jan  9 11:08 14 -> /run/docker/containerd/61241e6529fe785b84c3a9c9ffc43a1dde60df368260d10618bd37ec2b825b75/init-stdout
lr-x------ 1 root root 64 Jan  9 11:08 15 -> /run/docker/containerd/61241e6529fe785b84c3a9c9ffc43a1dde60df368260d10618bd37ec2b825b75/init-stdout
l--------- 1 root root 64 Jan  9 11:08 16 -> /run/docker/containerd/61241e6529fe785b84c3a9c9ffc43a1dde60df368260d10618bd37ec2b825b75/init-stderr
l-wx------ 1 root root 64 Jan  9 11:08 17 -> /run/docker/containerd/61241e6529fe785b84c3a9c9ffc43a1dde60df368260d10618bd37ec2b825b75/init-stderr
l--------- 1 root root 64 Jan  9 11:08 18 -> /run/docker/containerd/61241e6529fe785b84c3a9c9ffc43a1dde60df368260d10618bd37ec2b825b75/init-stderr
lr-x------ 1 root root 64 Jan  9 11:08 19 -> /run/docker/containerd/61241e6529fe785b84c3a9c9ffc43a1dde60df368260d10618bd37ec2b825b75/init-stderr
l-wx------ 1 root root 64 Jan  9 11:08 2 -> /dev/null
lrwx------ 1 root root 64 Jan  9 11:08 4 -> anon_inode:[eventpoll]
lrwx------ 1 root root 64 Jan  9 11:08 5 -> anon_inode:[eventpoll]
lrwx------ 1 root root 64 Jan  9 11:08 6 -> socket:[167091395]
lrwx------ 1 root root 64 Jan  9 11:08 7 -> socket:[166910910]
lr-x------ 1 root root 64 Jan  9 11:08 8 -> pipe:[166910912]

ls -la /run/docker/containerd/61241e6529fe785b84c3a9c9ffc43a1dde60df368260d10618bd37ec2b825b75/init-stdout
prwx------ 1 root root 0 Jan  5 08:26 /run/docker/containerd/61241e6529fe785b84c3a9c9ffc43a1dde60df368260d10618bd37ec2b825b75/init-stdout

т.е. FD 0, 1 и 2 процесса 155527 (nginx) в докере подключены к FD 8, 9 и 12 процесса 155511 (docker-containerd-shim), который в свою очередь пересылает текст в именнованные пайпы на ФС (mkfifo(1)), когда делается docker attach, то там для текущего шела делается вызов freopen(3), который перебивает евойные FD 0,1 и 2 на именнованные пайпы.


questionerМогу я как-то открыть баш в контейнере через аттач?если контейнер был запущен как "docker run ... /bin/bash", то при attach будет осуществлено подключение как раз к запущенному bash
...
Рейтинг: 0 / 0
09.01.2019, 21:58
    #39757520
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
Андрей Панфиловавторт.е. FD 0, 1 и 2 процесса 155527 (nginx) в докере подключены к FD 8, 9 и 12 процесса 155511 (docker-containerd-shim), который в свою очередь пересылает текст в именнованные пайпы на ФС (mkfifo(1)), когда делается docker attach, то там для текущего шела делается вызов freopen(3), который перебивает евойные FD 0,1 и 2 на именнованные пайпы.

Видимо не 8, 9 и 12, а 8, 10, 12

Что такое ФС я тоже не знаю или это опечатка и это ФД?

Андрей ПанфиловquestionerМогу я как-то открыть баш в контейнере через аттач?если контейнер был запущен как "docker run ... /bin/bash", то при attach будет осуществлено подключение как раз к запущенному bash
https://docs.docker.com/engine/reference/run/#foreground If you do not specify -a then Docker will attach to both stdout and stderr .
То есть судя по всему так по умолчанию и есть или я что-то не так понимаю.
...
Рейтинг: 0 / 0
09.01.2019, 22:23
    #39757531
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
Андрей Панфилов,

у меня на виндосе стоит докер.

Я заранил image percona(mysql)

Код: powershell
1.
docker run --name my_percona_test -e MYSQL_ROOT_PASSWORD=password percona


Правильно я понимаю, что attach аттачит STDIN/STDOUT(не уверен, что я правильно понимаю, что это такое) приложения percona к консоли докера, но так как percona ничего не пишет в STDOUT и ничего не ждёт из STDIN, то ничего и не происходит.

STDIN/STDOUT частный случай это консоль?

Что я ожидал от команды attach?

я хотел подключиться к консоли в контейнере. Чтобы я там мог написать
Код: powershell
1.
mysql -u root -p

и там уже смотреть базы данных и таблицы.
...
Рейтинг: 0 / 0
09.01.2019, 22:56
    #39757544
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
и ещё почему-то аттач случается только один раз.

даже после docker restart аттач не срабатывает
...
Рейтинг: 0 / 0
09.01.2019, 23:16
    #39757550
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
То есть при первичном docker run, из image делается изолированный процесс(контейнер, который как бы является linux виртуалкой)
Далее в этой виртуалке открывается консоль и в ней стартует команда для инсталла mysql percona. И при аттаче к этой консоли мы и аттачимся?
...
Рейтинг: 0 / 0
10.01.2019, 09:08
    #39757660
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
questionerПравильно я понимаю, что attach аттачит STDIN/STDOUT(не уверен, что я правильно понимаю, что это такое) приложения percona к консоли докера, но так как percona ничего не пишет в STDOUT и ничего не ждёт из STDIN, то ничего и не происходит.Скажем так: почти. Консоль (телетайп, псевдотерминал и пр.) - это устройство ввода-вывода, а файловый дескриптор у процесса - это абстракция, через которую процесс что-то пишет или читает, сокет, например, - это тоже файловый дескриптор. У любого процесса в UNIX есть как минимум три файловых дескриптора: 0, 1 и 2, они же STDIN, STDOUT и STDERR, однако каким файлам/устройствам/сокетам эти дескрипторы соответствуют зависит от того что написано в коде конкретного приложения.
questionerЧто я ожидал от команды attach?

я хотел подключиться к консоли в контейнере. Чтобы я там мог написать
mysql -u root -p
и там уже смотреть базы данных и таблицы.Идея понятна - вы не хотите знать что нужно запустить чтобы работать с запущенным сервисом в докере, а хотите иметь некий универсальный подход: запустили attach - открылась некая оснастка управления сервисом. В докере так не делают (хотя на самом деле можно, а вот, к примеру, в LXC то что вы хотите есть прямо из коробки - lxc-console), проблема здесь в следующем: если в контейнере запускать несколько процессов, то становится непонятным каким образом определять жив контейнер вообще или нет (ну вот крутится у вас там mysqld и bash, если mysqld упал, то понятно что у вас отвалился сервис и нужно что-то предпринимать, а вот если bash упал, то что делать? а как контейнеру это понять?), если же в контейнер запихивать полноценный менеджер процессов, который сам будет принимать решения о перезапуске сервисов, то это настолько усложнит создание контейнеров, что вся текущая популярность докера сойдет на нет, поэтому разработчики докера решили что наиболее простая концепция здесь: один контейнер - один процесс/сервис.
...
Рейтинг: 0 / 0
10.01.2019, 16:39
    #39758033
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать docker attach ?
Андрей Панфилов,

Спасибо за разъяснения
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Когда использовать docker attach ? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]