相关疑难解决方法(0)

将文件从Docker容器复制到主机

我正在考虑使用Docker在持续集成(CI)服务器上构建我的依赖项,这样我就不必在代理本身上安装所有运行时和库.为了实现这一点,我需要将容器内部构建的构建工件复制回主机.

那可能吗?

file-copying docker docker-container

1438
推荐指数
18
解决办法
70万
查看次数

如何将卷添加到现有Docker容器?

我有一个Docker容器,我只是通过在Ubuntu上安装Docker并创建:

sudo docker run -i -t ubuntu /bin/bash
Run Code Online (Sandbox Code Playgroud)

我立即开始安装Java和其他一些工具,花一些时间用它来停止容器

exit
Run Code Online (Sandbox Code Playgroud)

然后我想添加一个卷,并意识到这并不像我想象的那么简单.如果我使用sudo docker -v /somedir run ...那么我最终得到一个新的容器,所以我已经安装了Java并且做了我之前已经完成的工作,只是为了到达一个装有卷的容器.

有关从主机安装文件夹的所有文档似乎都暗示在创建容器时可以安装卷.因此,我必须避免从头开始重新配置新容器的唯一选择是将现有容器提交到存储库,并在安装卷时将其用作新容器的基础.

这确实是向现有容器添加卷的唯一方法吗?

docker

243
推荐指数
6
解决办法
18万
查看次数

在Dockerfile中设置MySQL并导入转储

我正在尝试为我的LAMP项目设置Dockerfile,但是在启动MySQL时我遇到了一些问题.我的Dockerfile上有以下行:

VOLUME ["/etc/mysql", "/var/lib/mysql"]
ADD dump.sql /tmp/dump.sql
RUN /usr/bin/mysqld_safe & sleep 5s
RUN mysql -u root -e "CREATE DATABASE mydb"
RUN mysql -u root mydb < /tmp/dump.sql
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
Run Code Online (Sandbox Code Playgroud)

有关如何在Dockerfile构建期间设置数据库创建和转储导入的任何想法?

mysql docker

116
推荐指数
5
解决办法
11万
查看次数

"docker cp"从文件夹到现有容器文件夹的所有文件

当我尝试将文件从一个文件夹复制到现有容器文件夹时,我错过了什么:

文件

我想将build(host)文件夹中的文件复制到我的容器中的html:

docker cp ./src/build b081dbbb679b:/usr/share/nginx/html
Run Code Online (Sandbox Code Playgroud)

要清楚; 我需要从主机复制到容器.

但它复制整个构建文件夹并将其复制到..html/build

我只需要将build文件夹中的文件(和子文件夹)复制到..html中.

我错过了什么或者我是否必须逐个复制每个文件?

docker

48
推荐指数
3
解决办法
5万
查看次数

单个文件卷作为目录安装在Docker中

Docker文档说可以将单个文件挂载到Docker容器中:

-v标志还可用于从主机安装单个文件 - 而不仅仅是目录.

$ docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash

这将使您进入新容器中的bash shell,您将获得主机的bash历史记录,当您退出容器时,主机将具有在容器中键入的命令的历史记录.

当我尝试这个时,文件安装为目录:

tom@u ~/project $ docker run --rm -it -v file.json:/file.json test
total 80K
drwxr-xr-x  9 root root 4.0K Dec  7 12:58 .
drwxr-xr-x 63 root root 4.0K Dec  7 12:58 ..
drwxr-xr-x  2 root root 4.0K Dec  4 16:10 file.json
Run Code Online (Sandbox Code Playgroud)

我的Dockerfile看起来像这样:

FROM ubuntu:14.04
MAINTAINER Tom
CMD ["ls", "-lah", "/test"]
Run Code Online (Sandbox Code Playgroud)

Docker版本是1.9.1,构建a34a1d5.

这是一个文档问题,在我身边的误解,还是还有其他事情发生?

linux docker dockerfile

48
推荐指数
5
解决办法
5万
查看次数

将多个本地文件复制到docker容器

类似于将文件从主机复制到Docker容器,但docker cp似乎不适用于多个文件

$ docker cp data/a.txt sandbox_web_1:/usr/src/app/data/
Run Code Online (Sandbox Code Playgroud)

工作正常,但是

$ docker cp data/*txt sandbox_web_1:/usr/src/app/data/

docker: "cp" requires 2 arguments.
See 'docker cp --help'.

Usage:  docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

Copy files/folders between a container and the local filesystem
Use '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a …
Run Code Online (Sandbox Code Playgroud)

copy docker

17
推荐指数
3
解决办法
1万
查看次数

如何在Windows上将文件从本地计算机复制到docker容器

我必须将数据文件从用户本地文件C:/ users/saad/bdd导入到docker容器(cassandra),我没有找到如何继续使用docker命令.我在Windows 7上工作.

非常感谢您的帮助

containers copy file local docker

15
推荐指数
3
解决办法
4万
查看次数

在 docker 镜像中添加文件

我已经创建了一个项目的 docker 映像(非常大的项目,需要时间来编译),但我忘记在其中添加一个文件。

我与构建无关,它只是一个测试文件。

是否可以将此文件添加到我的图像中而不重建所有内容?

谢谢

docker

14
推荐指数
3
解决办法
2万
查看次数

从远程 docker 容器复制文件

我在远程计算机上有一个正在运行的容器。我通过 ssh 连接到机器。现在我想从容器中下载某个文件。有人可以给我一些如何实现这一目标的提示吗?谢谢。

ssh docker

12
推荐指数
2
解决办法
2万
查看次数

如何将文件从 docker 容器共享到主机

我有一个运行良好的 docker 容器。它会在目录中生成一些文件/Project/userfiles.txt。我需要这些文件用于某些测试目的。但是当这个容器停止时,一切都被删除了。所以我需要将此文件从容器复制到主机。

我在生成文件的容器中运行了一个 python 应用程序。我想要一些命令或任何方式,userfiles.txt当容器停止时,我可以在最后将其发送到主机。

为此,我可以使用docker cp命令并尝试过,但由于docker not found未安装 docker,它给了我一个错误。

如何从容器到主机共享文件?

containers docker

9
推荐指数
2
解决办法
2万
查看次数