使用docker commit
命令。将运行的容器提交为镜像
其中
-a
指定作者信息
-m
添加注释信息
docker commit -a "wuzw" -m "QP" ff90ca6713a3 nextcloud:v1
docker commit -a "wuzw" -m "QP" f7bc19b43fe5 mysql:nextcloud
docker commit -a "wuzw" -m "QP" 785209b3cd31 elasticsearch:nextcloud
docker commit -a "wuzw" -m "QP" 6473e4ef0e22 onlyoffice:nextcloud
使用docker save
命令。将上一步生成好的镜像导出为tar包,用于导入新的环境运行。
docker save nextcloud:Teld > nextcloud_save.tar
docker save mysql:nextcloud > mysql_save.tar
docker save elasticsearch:nextcloud > elasticsearch_save.tar
docker save onlyoffice:nextcloud > onlyoffice_save.tar
通过docker inspect
命令。查看容器运行时的参数
包括端口、目录映射、参数调解等
将容器数据打包,然后放入新服务器同样的位置
docker版本安装相同版本的,原有docker环境版本可以通过docker version
命令来查看。
# 添加yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新数据源
yum update
# 列出数据源
yum list docker-ce --showduplicates|sort -r
yum list docker-ce-cli --showduplicates|sort -r
yum install -y docker-ce-20.10.2 docker-ce-cli-20.10.2 containerd.io
systemctl start docker && systemctl enable docker
将导出的tar包放入新的服务器进行加载。
docker load -i nextcloud_save.tar
docker load -i mysql_save.tar
docker load -i elasticsearch_save.tar
docker load -i onlyoffice_save.tar
将打包的数据还原到相同的目录。
可以用cp -a
的参数保持原有的属性,防止出现权限问题。
docker run -d --restart=always -p 888:80 -v /mnt/nextcloud:/var/www/html --link mysql:nextcloud --name nextcloud nextcloud:v1
docker run -i -t -d -p 1888:80 --restart=always --name onlyoffice --link nextcloud:v1 -v /root/onlyoffice/log:/var/log/onlyoffice -v /root/onlyoffice/data:/var/www/onlyoffice/Da
ta -v /root/onlyoffice/lib:/var/lib/onlyoffice -v /root/onlyoffice/db:/var/lib/postgresql onlyoffice:nextcloud
docker run -d -p 3333:3306 -v /usr/mydata/mysql/conf:/etc/mysql/conf.d -v /usr/mydata/mysql/log:/var/log/mysql -v /usr/mydata/mysql/data:/var/lib/mysql --name my
sql mysql:nextcloud
docker run -d -p 9999:9200 -p 8888:9300 -e ES_JAVA_POTS="-Xms128m -Xmx128m" -e "discovery.type=single-node" --name elastic_search elasticsearch:nextcloud
如果容器里边有配置过IP地址等信息,需要修改这些信息进行重启。