二进制部署的docker 这么改存储路径
时间: 2024-10-22 11:10:18 浏览: 18
在Docker中,如果想要改变容器内的文件存储路径,主要是通过卷(Volumes)或者数据卷 mounts 来实现的,而不是直接修改镜像里的二进制部署。以下是步骤:
1. **使用数据卷(Docker Volumes)**:
创建一个新的数据卷:
```
$ docker volume create mydata
```
然后在运行容器时,指定将特定目录挂载到这个数据卷上:
```
$ docker run -v mydata:/path/in/container your_image /bin/bash
```
在容器内部,`/path/in/container` 就会映射到宿主机的 `mydata`。
2. **使用 Dockerfile 中的数据卷Mount**:
在构建镜像时,在 `Dockerfile` 添加类似这样的命令:
```Dockerfile
RUN mkdir /app/data
VOLUME /app/data
CMD ["your-binary", "/path/to/start"]
```
启动容器时同样指定数据卷:
```
$ docker run -v /host/path:/app/data your_image
```
3. **环境变量设置**:
如果你希望基于环境变量动态更改容器内的路径,可以在启动时通过 `-e` 参数设置,然后在容器内通过 `$VARIABLE_NAME` 访问。
请注意,无论哪种方式,都不会改变原镜像的二进制部署,只是提供了一种动态配置容器内部存储的方式。
阅读全文