前言
本文主要讲述因为网络环境限制(比如内网、开发环境等),无法直接下载docker镜像的情况下,如何部署mailcow。
正常环境下部署mailcow,请参考文章:mailcow基于容器化的开源邮件系统详细安装过程
准备工作
- 新环境docker版本满足mailcow要求,并且已经正常启动。
- 旧环境已经安装mailcow,相关的镜像文件完整。
- 本文描述的部署过程所涉及的镜像版本与mailcow基于容器化的开源邮件系统详细安装过程 一致。
部署过程
镜像文件导出
在已经安装好mailcow环境查看mailcow项目涉及的镜像列表及版本信息:
[root@mail ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
memcached alpine 936dbfa3fd1a 11 days ago 15.7MB
mailcow/phpfpm 1.88 f9d025710983 12 days ago 301MB
mailcow/dovecot 1.30 2aca708281e0 12 days ago 251MB
mailcow/solr 1.8.3 a77fb6cd923e 12 days ago 454MB
mailcow/postfix 1.75 d13755c00185 13 days ago 335MB
mailcow/dockerapi 2.08 adc1446be9a4 2 weeks ago 166MB
mailcow/olefy 1.13 6572de3dccbb 2 weeks ago 112MB
mailcow/watchdog 2.03 c801c70f93a6 2 weeks ago 117MB
mailcow/acme 1.88 a97424882d9c 2 weeks ago 146MB
mailcow/netfilter 1.59 59b514e53b6d 2 weeks ago 110MB
mailcow/rspamd 1.96 f3ddc7d4a34a 2 weeks ago 184MB
nginx mainline-alpine 099a2d701db1 2 weeks ago 43.2MB
mariadb 10.5 8d27db214bfa 4 weeks ago 394MB
mailcow/clamd 1.66 5b6dfc3668d8 4 weeks ago 78.8MB
mailcow/unbound 1.22 8ccf6655d8aa 4 weeks ago 27.7MB
mcuadros/ofelia latest 05600fa3b007 6 weeks ago 23MB
redis 7-alpine 38a44d796822 6 weeks ago 40.7MB
mailcow/sogo 1.123 f41cfca2cd8b 4 months ago 336MB
robbertkl/ipv6nat latest b789d3355d66 2 years ago 18MB
导出镜像列表信息,保存到images.txt文件:
[root@mail ~]# docker images >images.txt
制作导出镜像文件的脚本docker-save.sh:
[root@mail ~]# cat images.txt|awk 'BEGIN{print "#!/bin/bash"} $1 != "REPOSITORY" {print "docker save "$3">"$3".tar"}' >docker-save.sh
docker-save.sh内容如下:
[root@localhost backup]# cat docker-save.sh
#!/bin/bash
docker save 936dbfa3fd1a>936dbfa3fd1a.tar
docker save f9d025710983>f9d025710983.tar
docker save 2aca708281e0>2aca708281e0.tar
docker save a77fb6cd923e>a77fb6cd923e.tar
docker save d13755c00185>d13755c00185.tar
docker save adc1446be9a4>adc1446be9a4.tar
docker save 6572de3dccb