質問するログイン新規登録

回答編集履歴

1

サンプルコマンド

2021/11/13 13:29

投稿

hentaiman
hentaiman

スコア6428

answer CHANGED
@@ -1,3 +1,74 @@
1
+ #### イメージの作り方
2
+
3
+ https://docs.docker.jp/engine/reference/commandline/commit.html
4
+ の**コンテナのコミットを参照**
5
+
6
+ #### vimのあるコンテナを作るサンプル
7
+
8
+ 1.コンテナを作る&プロセス確認する
9
+ ```
10
+ docker run --name testpine -it -d alpine:latest
11
+ docker ps
12
+ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13
+ 3ced094511c0 alpine:latest "/bin/sh" 41 seconds ago Up 40 seconds testpine
14
+ ```
15
+ 2.(b)ashでコンテナに入ってvimが無い事を確認する
16
+ ```
17
+ docker exec -it testpine ash
18
+ / # vim
19
+ ash: vim: not found
20
+ ```
21
+
22
+ 3.vimをインストールして、コンテナを抜けて、もう一回入ってvimがある事を確認する
23
+ ```
24
+ / # apk add vim
25
+ fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
26
+ fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
27
+ (1/5) Installing xxd (8.2.3437-r0)
28
+ (2/5) Installing lua5.3-libs (5.3.6-r0)
29
+ (3/5) Installing ncurses-terminfo-base (6.2_p20210612-r0)
30
+ (4/5) Installing ncurses-libs (6.2_p20210612-r0)
31
+ (5/5) Installing vim (8.2.3437-r0)
32
+ Executing busybox-1.33.1-r6.trigger
33
+ OK: 25 MiB in 19 packages
34
+
35
+ / # which vim
36
+ /usr/bin/vim
37
+
38
+ / # exit
39
+
40
+ docker exec -it testpine ash
41
+ / # which vim
42
+ /usr/bin/vim
43
+ ※当然vim見つかる
44
+
45
+ / # exit
46
+ ```
47
+
48
+ 4.イメージを作る&イメージを作れたことを確認する
49
+ ```
50
+ docker ps
51
+ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
52
+ 3ced094511c0 alpine:latest "/bin/sh" 4 minutes ago Up 4 minutes testpine
53
+
54
+ docker commit 3ced094511c0 testpine:1.0
55
+
56
+ docker images|findstr testpine
57
+ testpine 1.0 a3601fa6e12e 22 seconds ago 24.6MB
58
+ ```
59
+
60
+ 5.作ったイメージを元にコンテナを作り、vimがある事を確認する
61
+ ```
62
+ docker run --rm -it testpine:1.0 ash
63
+ / # which vim
64
+ /usr/bin/vim
65
+ ※無事にvimは見つかる
66
+ ```
67
+
68
+ ----
69
+
70
+ #### 旧回答
71
+
1
72
  > コンテナ再起動後にも保持させたい。
2
73
 
3
74
  再起動(stop→start)ではコンテナの状態は消えません