docker 离线加载
- 需求: 某某公司网络管控需要,机器只能内网访问。
- 乙方:需要开发完成后,方便在甲方机器快速部署。
乙方提供镜像,在甲方机器离线部署。
使用redis镜像测试
➜ ~ docker save redis -o redis.tar
➜ ~ ll -sh redis.tar
230080 -rw------- 1 huoyinghui staff 103M 7 15 16:59 redis.tar
➜ ~ docker rmi redis
Untagged: redis:latest
Untagged: redis@sha256:800f2587bf3376cb01e6307afe599ddce9439deafbd4fb8562829da96085c9c5
➜ ~ docker load -i redis.tar
Loaded image: redis:latest
➜ ~
➜ ~ docker run redis
1:C 15 Jul 2020 09:00:34.438 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 15 Jul 2020 09:00:34.438 # Redis version=6.0.5, bits=64, commit=00000000, modified=0, pid=1, just started
redis.tar 解析
➜ redis cat manifest.json | python -m json.tool
[
{
"Config": "2355926154447ec75b25666ff5df14d1ab54f8bb4abf731be2fcb818c7a7f145.json",
"RepoTags": [
"redis:latest"
],
"Layers": [
"29a4ff5c2250ab72c60545ba67bd67d87daa05e4abd186e7d488d921287c893b/layer.tar",
"a13feb87d59f3b1ba73f98d2c10a3c265b6b2b4eb40829cde2b4b4fb56484528/layer.tar",
"42fc2b4591d4be531bb870ec7e4dd97d6e8a6cc5125e28f3e986c7f02e400a9d/layer.tar",
"a17765b35d564b4e53a3e676c7f1bb1d60b3f07c2d3432411e022aaeddd19bcb/layer.tar",
"538321c521ba49b6c68640791bd238977895eb03ddaca02a4c2012d3c5bc6578/layer.tar",
"5377bc7618c3edb47e3e2da5452ad996794cc348c95289b2e9bae039734c30d3/layer.tar"
]
}
]
➜ redis cat repositories | python -m json.tool
{
"redis": {
"latest": "5377bc7618c3edb47e3e2da5452ad996794cc348c95289b2e9bae039734c30d3"
}
}
➜ redis tree .
.
├── 2355926154447ec75b25666ff5df14d1ab54f8bb4abf731be2fcb818c7a7f145.json
├── 29a4ff5c2250ab72c60545ba67bd67d87daa05e4abd186e7d488d921287c893b
│ ├── VERSION
│ ├── json
│ └── layer.tar
├── 42fc2b4591d4be531bb870ec7e4dd97d6e8a6cc5125e28f3e986c7f02e400a9d
│ ├── VERSION
│ ├── json
│ └── layer.tar
├── 5377bc7618c3edb47e3e2da5452ad996794cc348c95289b2e9bae039734c30d3
│ ├── VERSION
│ ├── json
│ └── layer.tar
├── 538321c521ba49b6c68640791bd238977895eb03ddaca02a4c2012d3c5bc6578
│ ├── VERSION
│ ├── json
│ └── layer.tar
├── a13feb87d59f3b1ba73f98d2c10a3c265b6b2b4eb40829cde2b4b4fb56484528
│ ├── VERSION
│ ├── json
│ └── layer.tar
├── a17765b35d564b4e53a3e676c7f1bb1d60b3f07c2d3432411e022aaeddd19bcb
│ ├── VERSION
│ ├── json
│ └── layer.tar
├── manifest.json
└── repositories
6 directories, 21 files
➜ redis
来源:oschina
链接:https://my.oschina.net/tplinuxhyh/blog/4384195