本地Windows容器迁移至云服务器
一、先在本地 Windows 执行(导出所有镜像)
1. 查看所有已停止的容器(就是你现在这些)
powershell
docker ps -a2. 批量导出所有镜像(一键复制)
powershell
docker save -o D:\containers.tar logstash:7.17.19 docker.elastic.co/kibana/kibana:7.17.19 xuxueli/xxl-job-admin:2.3.0 apache/rocketmq:4.9.6 apacherocketmq/rocketmq-dashboard:1.0.0 mysql:8.0.30 elasticsearch:7.17.19 redis:7.0.4会在 D 盘生成一个
containers.tar(包含所有中间件镜像)
二、把 D:\containers.tar 上传到云服务器
推荐方式
- 云服务器买Linux 系统(CentOS 7 / Ubuntu 20.04+)
- 用 Xshell / FinalShell / 远程桌面 把
containers.tar传到云服务器/root目录
三、在云服务器执行(导入 + 运行)
1. 安装 Docker(没有的话)
bash
运行
curl -fsSL https://get.docker.com | bash systemctl start docker systemctl enable docker2. 导入所有镜像
bash
运行
cd /root docker load -i containers.tar3. 依次启动所有容器(我直接给你完整命令)
① MySQL
bash
运行
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:8.0.30② Redis
bash
运行
docker run -d --name redis -p 6379:6379 redis:7.0.4③ Elasticsearch
bash
运行
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.17.19④ Kibana
bash
运行
docker run -d --name kibana --link elasticsearch:elasticsearch -p 5601:5601 docker.elastic.co/kibana/kibana:7.17.19⑤ Logstash
bash
运行
docker run -d --name logstash --link elasticsearch:elasticsearch logstash:7.17.19⑥ RocketMQ Server
bash
运行
docker run -d --name rocket-server -p 9876:9876 apache/rocketmq:4.9.6 sh mqnamesrv⑦ RocketMQ Broker
bash
运行
docker run -d --name rocket-broker --link rocket-server:namesrv -p 10909:10909 -p 10911:10911 apache/rocketmq:4.9.6 sh mqbroker -c /opt/rocketmq-4.9.6/conf/broker.conf⑧ RocketMQ Dashboard
bash
运行
docker run -d --name rocket-dashboard --link rocket-server:namesrv -p 8080:8080 apacherocketmq/rocketmq-dashboard:1.0.0⑨ XXL-Job
bash
运行
docker run -d --name xxl-job -p 8081:8081 xuxueli/xxl-job-admin:2.3.0四、最后验证(云服务器执行)
bash
运行
docker ps能看到全部 9 个容器都在运行,就迁移成功了。
