Tag: 泊位者卷

与主机数据目录映射时,Docker容器数据变为空白

我已经创build了如下所示的Dockerfile。 只需在tomcat webapps中添加一个应用程序。 FROM tomcat:9-alpine ADD ./Spring3HibernateApp.war /usr/local/tomcat/webapps/ VOLUME /usr/local/tomcat/webapps EXPOSE 8080 CMD ["catalina.sh","run"] build立一个新的形象,并命名为testing应用程序:0.1 docker build –t test-app:0.1 . 像下面一样旋转新的容器,在那里我使用主机数据目录来挂载一个容器的数据目录,这样我就可以对容器进行更改或列出webapps的内容。 docker run -d –name=tomcat-01 -p 80:8080 –net=bridge -v /vol2/docker/sampleapp/tomcat-webapps:/usr/local/tomcat/webapps test-app:0.1 我的问题:当我看着/ vol2 / docker / sampleapp / tomcat-webapps ,我发现它是空白的。 不过,我想它应该从位置/ usr / local / tomcat / webapps列出容器的内容。 实际上它也清理了容器数据,而不是将其保存并加载到主机数据目录中。 我错过了什么? 如果我简单地从上面的命令中删除-v,它工作正常,我可以看到默认的泊坞窗音量位置内的内容,但是当我添加-v时没有得到相同的结果。 我的理解错了吗? 我指的是通过链接https://docs.docker.com/engine/tutorials/dockervolumes/将主机目录挂载为数据卷 同样的命令工作正常,当我使用mysql映像并从它旋转新的容器。 docker […]

Docker – 数据卷和数据容器的区别

我不明白数据量和数据容器之间有什么区别…例如,这两个docker构成configuration具有相同的结果,但第一个使用数据容器 惠普数据容器 datacontainer: image: httpd:2.4-alpine volumes: – ../src:/usr/local/apache2/htdocs apache: image: httpd:2.4-alpine ports: – 80:80 volumes_from: – datacontainer 没有数据容器 apache: image: httpd:2.4-alpine ports: – 80:80 volumes: – ../src:/usr/local/apache2/htdocs 使用数据容器的优点和缺点是什么?

在Azure应用服务中使用Docker容器时装入卷

我已经在Azure上部署了一个Web App ,并使用公共registry(我自己的图像)的Docker容器来托pipe我的网站。 但用户可以上传图片和数据存储在服务器上的json文件。 当然,我想将这些文件写入容器外部的已安装卷。 这样我可以重新部署我的网站的更新版本,而不会丢失数据。 这是可能的Web应用程序? 还是需要转到Azure上使用Docker的Ubuntu VM? 我喜欢的web应用程序是我不必担心pipe理虚拟机,只关心我的容器。

Docker – 限制安装的卷大小

有没有办法来限制一个装载的docker卷可以增长的大小? 我正在考虑像这样做: 如何在Linux中设置目录大小限制? 但是我觉得这对我所需要的东西来说太复杂了。

将文件从Docker容器暴露给主机

我有一个容纳django应用程序的docker容器。 生成静态文件并将其复制到静态文件夹。 容器文件夹层次: – var – django – app – static 在构build./manage.py collectstatic镜像之前,我运行./manage.py collectstatic以便静态文件位于/var/django/static文件夹中。 为了公开应用程序并提供静态文件,我在主机上有一个nginx。 问题是,如果我做静态文件夹和主机上指定的文件夹之间的卷,当我运行docker容器,容器中的/var/django/static文件夹被删除(以及未删除,但已装入)。 有什么办法可以克服吗? 如在设置音量,但告诉docker采取当前文件?

如何安装docker的btrfs卷插件?

当运行命令: docker run -it -v some_volume:/abc/xyz –volume-driver=btrfs a_docker_image /bin/bash terminal显示: docker: Error response from daemon: create some_volume: Error looking up volume plugin btrfs: plugin not found. ==================== 但是,如果创build量第一: docker volume create –opt type=btrfs –name some_volume 它将成功创build卷。 现在,如果我尝试运行容器并创build一个新的卷: docker run -it -v some_volume:/abc/xyz –volume-driver=btrfs a_docker_image /bin/bash 它显示(当然这是有道理的,因为已经创build了同名的卷): docker: Error response from daemon: create some_volume: conflict: volume […]

Docker卷每次都重新创build一个新的目标path

我已经创build了下面的docker文件 FROM resin/rpi-raspbian:jessie-20160831 .. RUN mkdir -p /usr/bin/asmp COPY src /usr/bin/asmp/ VOLUME /usr/bin/asmp/data .. 复制操作像这样复制一个目录结构: data db.sqlite3 web … worker … 我比刚开始一个容器,使用这样的东西: docker run -p 8000:8000 asmp 当我做检查时,我看到这个: "Mounts": [ { "Name": "30ccc87580cd85108cb4948798612630640b5564f66de848a4e2f77db8148d3a", "Source": "/var/lib/docker/volumes/30ccc87580cd85108cb4948798612630640b5564f66de848a4e2f77db8148d3a/_data", "Destination": "/sys/fs/cgroup", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" }, { "Name": "c4473031d209eb29d3f454be68325c6b1f33aa660185bf57e8abb91a56bb260e", "Source": "/var/lib/docker/volumes/c4473031d209eb29d3f454be68325c6b1f33aa660185bf57e8abb91a56bb260e/_data", "Destination": "/usr/bin/asmp/data", "Driver": "local", […]

Docker容器特定的磁盘配额

每个Docker容器默认configuration10GB磁盘空间,这是devicemapper的默认configuration,适用于所有容器。 我如何限制inode或磁盘配额到个别容器? 例如 : 容器#1磁盘10GB和10000 Inode值 容器#2磁盘20GB和100000 Inode值 注意:我知道我们可以通过使用docker -d–storage-opt更改默认值10GB,但是这适用于每个包含器。 问题:如何限制inode或磁盘配额到单个容器?

如何指定共享的Docker卷的大小?

如果我想创build一个15GB的数据量,那就是ext4types的,我该怎么做? docker volume create –name vol只是创build一个空的卷。 docker volume create –opt type=ext4 –name vol创build一个ext4卷,但我不能指定它的大小,因为ext4根据ext4的挂载选项不支持。

如何在Dockerfile中使用现有的Docker卷

我创造了一个新的docker形象。 它创build一个新的文件夹/hello 。 当我将这个图像作为一个容器运行时,我可以通过docker exec -it .. bash命令访问容器,当我执行ls我会看到/hello文件夹。 这个/hello文件夹也保存在Docker卷容器中。 所以我已经把容器和现有的Docker卷联系起来了。 所以它是持久的。 现在是我的问题:是否有可能在Dockerfile中执行以下操作? 新图像想要使用与前一个容器相同的卷,并将/hello文件复制到其自己的容器中。 这可能在docker文件中执行吗?