赞
踩
近期之前活动购买的百度智能云到期了,续费太贵,所以重新参加了华为云的活动。升级到了2C8G5M 但是单核2.2G 比之前百度智能云的2C4G5M,单核2.4G 略低,但是3年1360 还要什么轮子。上车。
首先确认没有部署docker相关服务,确认无残留
然后设置docker仓库
sudo yum install -y yum-utils yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker:
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
启动docker
systemctl start docker
设置docker开机启动
systemctl enable docker
yum install nginx
systemctl start nginx
systemctl enable nginx
命令:
curl -L download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
也可以直接访问版本列表 下载适合的版本
下载之后上传,解压、更改目录、设置权限
cp -p docker-compose-linux-x86_64 /usr/local/bin
chmod +x /usr/local/bin/docker-compose
进入应用的docker-compose目录
docker-compose up -d
因此我一直都是使用默认目录, 而volumes 使用的 named volumes。
默认是会在docker存储目录下 项目名_应用名_volume (项目名默认是yml所在文件夹名称)
如: docker-nextclud目录下yml配置为
version: '3.3' services: db: image: mysql:8.0 command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always volumes: - db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=xxx - MYSQL_PASSWORD=xxx - MYSQL_DATABASE=xxx - MYSQL_USER=xxx nextcloud: image: nextcloud:25.0.2 ports: - xxx:xxx environment: - MYSQL_ROOT_PASSWORD=xxx - MYSQL_PASSWORD=xxx - MYSQL_DATABASE=xxx - MYSQL_USER=xxx - MYSQL_HOST=db volumes: - nextcloud:/var/www/html restart: always volumes: nextcloud: db:
正常会在 /var/lib/docker/volumes 生成 docker-nextcloud_nextcloud\docker-nextcloud_db 两个持久化目录。
但是迁移前docker版本是 Docker version 19.03.14, build 5eb3275d40,之前发现目录为 dockernextcloud_nextcloud\dockernextcloud_db 可能是bug导致 -符号没识别。
本次迁移后安装的 docker版本是 Docker version 20.10.21, build baeda1f
又生成了新的正常目录。
所以将新生成的目录docker-nextcloud_nextcloud\docker-nextcloud_db删除 ,然后更改 dockernextcloud_nextcloud\dockernextcloud_db 为docker-nextcloud_nextcloud\docker-nextcloud_db。 重新启动就可以了。
查看这个链接: nextcloud跨版本升级问题
IT 内容具有时效性,未避免更新后未同步,请点击查看最新内容: Docker服务迁移
文章首发于: http://nebofeng.com/2022/12/17/docker%e6%9c%8d%e5%8a%a1%e8%bf%81%e7%a7%bb/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。