您现在的位置是:首页 >其他 >docker系列-四-————数据卷挂载路径更改方法网站首页其他

docker系列-四-————数据卷挂载路径更改方法

bote798 2025-04-01 12:01:03
简介docker系列-四-————数据卷挂载路径更改方法

docker系列(四)————数据卷挂载路径更改方法

开始

要更改宿主机上的路径,只需在命令中提供一个新的容器路径

使用前两种方法改路径前,如果容器已经在运行,需要先停止并移除它(然后需要重新创建)

docker stop my_container
docker rm my_container

四种方法(推荐使用2和3,最推荐3):

# 1. 使用:-v

docker run -d 
  --name 容器名 
  -v 宿主机路径:新的容器内路径 
  -p 8080:80 
  # 将宿主机的 8080 端口映射到容器的 80 端口
  my_image:tag
  # 使用的镜像名称和标签。(标签也可不写)

# 2. 使用:--mount (更灵活,推荐)

docker run -d 
  --name my_container 
  --mount source=宿主机路径,target=新的容器内路径,type=bind 
  # type=bind:指明绑定
  my_image:tag

# 3.使用Docker Compose(这个不需要移除)
# 如果你使用的是Docker Compose来管理你的容器,编辑docker-compose.yml文件中的
# volumes设置即可

# 例子:
version: '3'
services:
  my_service:
    image: my_image:tag
    volumes:
   - 主机路径:新的容器内路径
# 然后运行 docker-compose up -d 来应用更改

# 4.使用符号链接(这种方法需要容器内的应用程序支持符号链接才行)
# 注意这一方法只适用临时方案,长期使用可能导致混乱,并且不适用于所有场景
# 先进入正在运行的容器

docker exec -it <container_name> /bin/sh 或 /bin/bash 

# 创建符号链接(这样,所有对 /old/container/path 的访问都会被重定向到 /new/container/path。)

ln -s /new/container/path /old/container/path


安装docker compose

如果你没有安装,则按以下安装:

# 下载
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 开启可执行权限
chmod +x /usr/local/bin/docker-compose
 
# 查看版本
docker-compose --version
#docker-compose version 1.29.2, build 5becea4c
 
# 使用curl方式安装,这样卸载即可
 rm /usr/local/bin/docker-compose

docker-compose常用命令

docker --version #查看版本
 
docker-compose -h    # 查看帮助
 
docker-compose up    # 启动所有docker-compose服务
 
docker-compose up -d    # 启动所有docker-compose服务并后台运行
 
docker-compose down     # 停止并删除容器、网络、卷、镜像。
 
docker-compose exec  yml里面的服务id   # 进入容器实例内部  docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
 
docker-compose ps      # 展示当前docker-compose编排过的运行的所有容器
 
docker-compose top       # 展示当前docker-compose编排过的容器进程
 
docker-compose logs  yml里面的服务id   # 查看容器输出日志
 
docker-compose config     # 检查配置
 
docker-compose config -q  # 检查配置,有问题才有输出
 
docker-compose restart   # 重启服务
 
docker-compose start     # 启动服务
 
docker-compose stop      # 停止服务

后续操作将开一篇单独文章

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。