Tag: docker volume

使用Volumerize备份我的docker卷与scp?

我有几个docker卷,我想使用scp / sftp备份到另一台服务器上。 我不知道如何处理,所以我决定看看blacklabelops / volumerize GitHub项目。 该工具基于命令行工具Duplicity 。 docker化和参数化,以便于使用和configuration。 教程是处理jenkinsdocker,但我不明白如何提及我想使用一个PE文件。 我已经尝试了不同的解决scheme(在scp命令行中添加了-i选项),目前没有任何成功。 Duplicity手册页提到使用cacert pem文件(–ssl-cacert-file选项),但是我想我在运行docker时(使用-e选项)创build一个envvariables,而且我不知道名称使用。 在这里,我到目前为止,有人可以指出我在正确的方向吗? docker run -d –name volumerize -v jenkins_volume:/source:ro -v backup_volume:/backup -e "VOLUMERIZE_SOURCE=/source" -e "VOLUMERIZE_TARGET=scp://me@serverip/home/backup" blacklabelops/volumerize

在Docker“内部”目录之外创buildDocker卷

我试图指定卷创build的位置。 我在用着: # The following doesn't work, it will still bind to docker internal directory docker volume create \ –driver local \ –opt device=/var/foo/bar/ \ –name postgres_volume1 我的环境: Linux版本4.4.0-62-generic(buildd @ lcy01-30)(gcc版本5.4.0 20160609(Ubuntu 5.4.0-6ubuntu1〜16.04.4))#83 -Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017年 Docker版本17.09.0-ce。

重build后文件更改不会反映在Docker镜像中

我试图为我的PHP web应用程序(php-fcm)设置两个Docker镜像,由NGINX反向代理。 理想情况下,我希望将Web应用程序的所有文件复制到基于php-fcm的映像中,并将其作为卷展示。 这样,两个容器(网页和应用程序)都可以通过NGINX服务静态文件和php-fcm来解释php文件。 泊坞窗,compose.yml version: '2' services: web: image: nginx:latest depends_on: – app volumes: – ./site.conf:/etc/nginx/conf.d/default.conf volumes_from: – app links: – app app: build: . volumes: – /app Dockerfile: FROM php:fpm COPY . /app WORKDIR /app 上述设置按预期工作。 但是,当我对文件做任何改变,然后做 compose up –build 新的文件不会在结果图像中拾取。 尽pipe以下消息表明图像确实正在重build: Building app Step 1 : FROM php:fpm —> cb4faea80358 Step 2 […]

将Docker容器中的静态文件复制到非空的已命名卷

我想通过命名卷从Docker容器复制新的静态文件到具有旧静态的nginx容器。 先决条件 : 主机机器目录树 : . ├── data │ ├── bar.2.css │ └── foo.2.js ├── docker-compose.yml ├── Dockerfile Dockerfile : FROM busybox:latest COPY data /data docker-compose.yml : version: '3' services: static: image: 'myimage' volumes: – 'myvolume:/data' nginx: image: 'nginx' volumes: – 'myvolume:/data' volumes: myvolume: 具有旧静态的命名卷myvolume的目录树: . ├── bar.1.css └── foo.1.js 步骤顺序: 使用Dockerfile构buildmyimage : docker build […]

我怎样才能恢复我的postgresql泊坞窗卷?

我使用docker-compose来启动我的应用程序。 一个容器使用postgresql。 我创build了一个在tar.gz文件中备份容器卷的脚本。 backup.tar.gz ├── base ├── _data ├── … ├── pg_hba.conf └── old.txt 如果我在我的卷检查我的文件没有old.txt sudo tree -L 1 /var/lib/docker/volumes/application_postgresql/_data ├── base ├── _data ├── … └── pg_hba.conf 我尝试停止我的容器( docker-compose stop db ),解压到/var/lib/docker/volumes/application_postgresql/_data并重新启动我的容器( docker-compose restart db )。 但似乎没有工作。 文件看起来不错 sudo tree -L 1 /var/lib/docker/volumes/application_postgresql/_data ├── base ├── _data ├── … ├── pg_hba.conf └── old.txt 但我的容器不想开始 […]

多克尔卷是空的,没有拿起任何文件

我试图在本地设置Docker(最终在生产中),但是现在,我甚至无法正确安装卷。 我一直在关注这个教程 , 这个教程显然已经过时了,因为在过去的一年中,Docker一直在如此迅速地变化,教程和git问题跟不上。 我的问题是,我的docker容器中的index.php文件在哪里? 为什么不显示,尽pipe在我的卷指令中指定? 我甚至在我的nginxconfiguration文件中启用了autoindex,所以我实际上可以看到目录并certificate我的怀疑。 我在Windows 10上 这是我的目录树: myproject/ -nginx/ -default.conf (nginx config) -Dockerfile -docker-compose.yml -index.php (trying to hit this in browser) 这是我的docker-compose文件: nginx: build: ./nginx/ ports: – 80:80 links: – php volumes: – .:/var/www/html php: image: php:5.6-fpm expose: – 9000 volumes: – .:/var/www/html 和我的Dockerfile: FROM nginx:latest MAINTAINER My Name <me@example.com> COPY ./default.conf […]

Docker Postgres主机上的数据卷

我有一个简单的小问题。 我有一个应用程序(ASPNET核心)和db(Postgres)。 我首先运行数据库的容器,然后运行应用程序容器,以便应用程序可以在运行时发现数据库。 现在我可以使用pgAdmin工具(在Windows)连接Postgres数据库,一切正常。 现在,如果我运行一个数据卷命令的Postgres容器,如: docker run -p 5432:5432 -d -v pg-data:/var/lib/postgresql/data –network=isolated_network –name postgres -e POSTGRES_PASSWORD=5432 postgres 在这里,我可以连接到运行在容器中的Postgres实例,并在那里获取我的数据。 在这里,我有一个问题,主机上的数据量pg-data可用? 而且,如果我将我的Windows目录安装到Docker引擎并运行以下命令: docker run -p 5432:5432 -d -vd:/data:/var/lib/postgresql/data –network=isolated_network –name postgres -e POSTGRES_PASSWORD=5432 postgres 我看到在D:\驱动器上的data文件夹,但我不能用pgAdmin工具连接到这个Postgres容器的实例,我的应用程序停止工作。

将文件添加到bluemix卷

我是docker和bluemix的新手,尝试在bluemix上部署我的应用程序。 我想在卷中添加应用程序configuration文件,以便所有的容器可以读取相同的configuration文件。 我遵循了bluemix给出的所有步骤 – https://console.ng.bluemix.net/docs/containers/container_volumes_mount.html 这些是我执行的命令 – cf ic volume create myvolume OK The volume 'myvolume' was created. cf ic volume list myVolume cf ic run –volume myvolume:/usr/xyz–name singleVolContainer registry.portal.bluemix.net/my_services/dockerexample:1.0 8aad1ab7-42c3-2344-890b-0a345eb6d74c cf ic cp ./config.properties 8aad1ab7-42c:/usr/xyz cf ic exec -it 8aad1ab7-42c bash cd /usr/xyz bash: cd: /usr/xyz: Not a directory 现在不是将文件复制到xyz目录,而是将文件的内容复制到一个名为“xyz”的新文件中。 我究竟做错了什么? 如何将文件复制到卷中,以及如何检查容器是否能够读取卷中的文件? 添加 – […]

只有在连接卷时,Docker容器才会停止运行

我写了一个dockerfile在Ubuntu映像上运行mysql。 Dockerfile是: FROM ubuntu RUN apt-get update RUN DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server RUN sed -i '43s/.*/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf EXPOSE 3306 ENTRYPOINT service mysql start && bash 如果我运行: docker run -dit mysql-server build立容器后,一切正常,我的Apache / PHP容器可以与它沟通。 但是,如果我运行一个卷( docker run -dit -v ~/vol/:/var/lib/mysql/ mysql-server ),容器将在30秒后停止运行(我很确定它是相同的每次的时间量)。 有谁知道一种方法,我可以保持容器和挂载量? 我以前从来没有遇到这个问题,也找不到其他的东西(我已经看了一会儿了)。 谢谢。

当在同一个安装点共享一个多个文件/目录时,Docker-compose损坏的目录

我有一个服务在Docker-compose中,我将目录和文件安装在相同的目录安装点。 我的docker-compose.yml: version: '2' services: web: volumes: – /c/www/:/var/folder1 – /c/src/resources/xslt.xsl:/var/folder1/file1 – /c/src/resources/apiJS:/var/folder1/file2 – /c/src/resources/api_js.min.js:/var/folder1/file3 问题是启动服务Web后,我发现主机目录/ www中的file1,file2,file3。 我怎样才能挂载file1,file2,file3而不出现在主目录/ C / WWW / 我使用docker引擎1.13和docker-compose 1.11.2来使用boo2docker