Docker 06 持久化到主机本地系统。也就是常说的挂载

命名卷挂载方式

命令卷:将命名卷视为简单的数据桶。Docker 维护磁盘上的物理位置,您只需要记住卷的名称。每次使用卷时,Docker 都会确保提供正确的数据。

# 创建命名卷
docker volume create todo-db



# 添加-v标志以指定卷安装。我们将使用命名卷并将其挂载到/etc/todos,这将捕获在该路径创建的所有文件。
# -v 主机挂载的目录(由Docker管理位置):挂载到Docker镜像容器的指定目录下。
docker run -dp 3000:3000 -v todo-db:/etc/todos getting-started


# 查看 命名卷 的挂载到主机的目录位置信息
# 语法:docker volume inspect <命名卷名称>
docker volume inspect todo-db
# Mountpoint是存储数据的磁盘上的实际位置

 

绑定挂载方式

docker run -dp 3000:3000 \
     -w /app -v "$(pwd):/app" \
     node:12-alpine \
     sh -c "yarn install && yarn run dev"
     
     
# -dp 3000:3000- 和之前一样。以分离(后台)模式运行并创建端口映射
# -w /app- 设置“工作目录”或命令将运行的当前目录
# -v "$(pwd):/app"- 将容器中主机的当前目录绑定挂载到/app目录中
# node:12-alpine- 要使用的图像。请注意,这是来自 Dockerfile 的应用程序的基础镜像
# sh -c "yarn install && yarn run dev"- 命令。我们正在使用sh(alpine 没有bash)启动一个 shell 并运行yarn install以安装所有依赖项,然后运行yarn run dev​​. 如果我们查看package.json,我们会看到dev脚本正在启动nodemon。

 

 

docker logs -f <container)id>用于查看容器启动的日志信息。

 

 

 

 

卷类型比较

 

 

 

参考;

持久化数据

posted @   星小梦  阅读(100)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示