企业网站优化方案,深圳网站建设制作公司,优秀网站要素,wordpress 文本 点不了写在前面
主题是Persist the DB#xff0c;这里是链接。本文主要学习如何持久化容器中的数据。
实践 使用docker运行一个随机生成1-10000的数的命令。下面是两个命令用合并在一起#xff0c;第一个命令是生成随机数并输出到data.txt#xff0c;后面的命令是保持…写在前面
主题是Persist the DB这里是链接。本文主要学习如何持久化容器中的数据。
实践 使用docker运行一个随机生成1-10000的数的命令。下面是两个命令用合并在一起第一个命令是生成随机数并输出到data.txt后面的命令是保持容器运行以方便后面查看文件 docker run -d ubuntu bash -c shuf -i 1-10000 -n 1 -o /data.txt tail -f /dev/null执行下面的命令得到生成的数字。exec是交换容器的关键字后面接上容器id即可访问该容器。执行后会打印出一个数字。 docker exec container-id cat /data.txt执行下面的命令直接将输入打印出来并不会存入data.txt文件。其中ls /是相对容器的目录。 docker run -it ubuntu ls /执行下面的命令把操作1的容器停止 docker rm -f container-id卷Volumes
启动容器后在容器内的增删改操作都保留在容器里当容器关闭后数据与随之丢失。 Volumes让容器内的路径与主机关联起来如果挂载了一个容器的目录容器内的修改同样会对主机造成同样的影响。Volumes有两种方式一种是mount另一种是使用docker的volume
创建Volume并启动容器
有一点需要知道todo app将数据存储在容器内的 /etc/todos/todo.db内。
创建Volumedocker volume create todo-db使用下面命令启动getting-startedsrc是Volume的名字target是容器内的路径docker run -dp 127.0.0.1:3000:3000 --mount typevolume,srctodo-db,target/etc/todos getting-started访问http://localhost:3000添加几个item 停止并移除当前容器使用docker ps和docker rm -f id实现使用上面的命令重新生成一个容器docker run -dp 127.0.0.1:3000:3000 --mount typevolume,srctodo-db,target/etc/todos getting-started重新访问http://localhost:3000会看见item还保留在那里
如何得到Volume存储的位置
执行下面命令得到Volume的元数据。其中Mountpoint就是实际的存储路径。
docker volume inspect todo-db
[{CreatedAt: 2019-09-26T02:18:36Z,Driver: local,Labels: {},Mountpoint: /var/lib/docker/volumes/todo-db/_data,Name: todo-db,Options: {},Scope: local}
]