Tag: Linux容器

将Docker容器通过主机本身连接到Vm主机

当我通过docker文档和其他文章阅读时, docker0在IP 172.17.0.1/16下创build了一个子networking,并将其命名为docker0 。 它也允许创build各种与网桥连接的隔离networking,就像我的情况一样。 所以我的问题是我想让外部主机与172.17.0.1范围的IP地址下的容器进行通信。 我做了什么 – 我已经创build了几个容器,实际上有7个容器覆盖了几乎所有的kali linux发行版应用程序,把它们放在172.18.0.0/16 ip地址范围内的一个单独的networking中。 那么到目前为止,没有很多configuration,我可以从一个容器ping主机或准备道德黑客的VM主机。 关注我的问题是,从虚拟机我根本不能ping任何容器。 不过,正如我阅读文章,发现docker集装箱不能从外部主机访问,除非它有一个路由。 所以我尝试使用VyOS来创build访问所创build的容器的路由,因为我configuration了VyOS路由器的路由和静态协议,从容器外部ping到主机无法访问。 那么有什么方法可以从另一个VM主机访问创build的容器? 顺便说一句,我在Fedora上运行的主机IP地址是10.4.190.233/23,docker容器在172.18.0.0/16上,VM主机在10.4.190.62/23上,它们被桥接到主机上。 我的VyOS有两个接口,一个与虚拟机10.4.190.0/23通信,一个连接到容器172.18.1.0/16。

docker里的Python脚本用CRON创build空文件

我有一个像这样的CRON工作: 0 0 * * * cd /home/path/to/script && sudo -u myuser ./thescript.sh 这个脚本构build一个docker镜像,运行一个简单的python应用程序,将文件上的testingvalidation报告转储出来。 当我在terminal上运行这个脚本时,一切正常(生成的文件进入/ home / myuser)。 不幸的是,当我运行CRON作业时,文件被创build,但是是空的。 它必须与拥有CRON工作的Root有关,但我无法弄清楚如何完成 任何线索?

on docker image level = error msg =“无法closurestar编写器:io:在closures的pipe道上读/写”

time="2017-10-27T07:39:20Z" level=error msg="Can't add file /var/app/current/app/content_classifier/forest.pickle to tar: io: read/write on closed pipe" time="2017-10-27T07:39:20Z" level=error msg="Can't close tar writer: io: read/write on closed pipe" Failed to build Docker image aws_beanstalk/staging-app: tar writer: io: read/write on closed pipe" Error response from daemon: Untar error on re-exec cmd: fork/exec /proc/self/exe: cannot allocate memory. Check snapshot logs for […]

如何在Amazon Linux AMI上安装特定版本的Docker

随着Docker团队经常使用新function,Amazon Linux AMI repo(amzn-updates)Docker软件包并不总是最新的,因此一些最新function并不是即时可用的(例如,使用sudo yum install -y docker安装Docker) 。 如何在Amazon Linux AMI上安装特定版本的Docker? 有没有优点/缺点如果安装它与亚马逊包pipe理器vs手动? 提前致谢。

Docker – 访问主机/ proc

这是我在docker论坛中发布的一篇文章的副本。 因此,一旦解决这个问题,iam将closures这个/另一个。 但由于没有人在docker论坛的答案,我的问题仍然存在,生病后再次期待得到答案。 我想公开一个服务器监控应用程序作为docker集装箱。 我写的应用程序依靠/ proc来读取系统信息,如CPU利用率或磁盘统计信息。 因此,我必须将主机/ proc虚拟文件系统中提供的信息转发到我的docker集装箱。 所以我做了一个简单的图像(使用docker网站上的第一个或第二个介绍: 链接 ),并启动它: docker run -v=/proc:/host/proc:ro -d hostfiletest docker run -v = / proc:/ host / proc:ro -d hostfiletest假设正在运行的容器可以从/ host / proc中读取以获取有关主机系统的信息。 我启动了容器内的一个控制台来检查: docker exec -it {one of the funny names the container get} bash 并检查了/ host / proc的内容。 最简单的方法是获取/ host / proc / sys / kernel […]

在Sql Server Linux Docker容器中使用OLE

我有一个运行Microsoft SQL Server 2017的Docker容器,如https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker中所述 。 我正在尝试按照https://docs.microsoft.com/en-us/sql/relational-databases/import-export/import-data-from-excel-to-sql中所述将Excel文件导入数据库: INSERT INTO myTable SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0; Database=myFile.xlsx', [Data$]); 这失败了 Msg 7403, Level 16, State 1, Server 02ae64b55e3f, Line 1 The OLE DB provider "Microsoft.ACE.OLEDB.12.0" has not been registered. 我很确定这是因为Excel或OLE未安装在泊坞窗容器中。 search谷歌如何在Linux上安装OLE没有产生任何答案,没有涉及葡萄酒,这似乎是一个糟糕的解决scheme。 有没有一种好的方法来在Linux上安装OLE

将硬件资源locking到Container(Docker)

有没有办法将硬件资源locking到在Docker框架/ Ubuntu上运行的Container 例如:我想locking一个networking接口卡到一个给定的容器,其他容器不能直接访问网卡,甚至lockingGPIO到一个容器等。 谢谢,PT

在Ubuntu上使用Ubuntu Artwork的Docker容器中的DNSparsing

这篇文章解决了我发现的一个问题 – 所以我希望别人会觉得它有用。 使用AWS Ubuntu Zesty – 17.04 – 使用Ansible和Terraform安装了Docker的图像很直接,但是到了Ubuntu Artful – 17.10,无论我安装了哪个版本的Docker,容器启动都无法parsingDNS。 经过大量的testing后,在我看来,主机是通过错误的DNS服务器进入容器内的resolv.conf – 所以它永远不会工作。 解决scheme: 对于systemd和docker,更改守护程序设置的首选方法是在/ etc / docker中创build一个名为daemon.json的新文件。 在该文件中添加以下内容以使其使用AWS VPC默认DNSparsing器 – 10.0.0.2 – 就像这样 { "dns": ["10.0.0.2"] } 重新启动docker守护进程,容器现在可以parsingDNS。 可能有其他方法可以解决这个问题,但是这个工作是完美的,并且使用了docker社区首选的方法。 我希望这能帮助那些可能遇到这个问题的人。 其他设置可以在这个文件中find。 Dockerd设置文档

我可以将Docker镜像加载到Docker Daemon的命名pipe道主机上吗?

我阅读了使用LinuxKit https://blog.docker.com/2017/09/preview-linux-containers-on-windows/在我的Win2K16服务器上有一个单独的命名pipe道。 我有从最新的安装程序EXE运行的Docker for Windows。 我遇到一个运行Linux Containers的错误,因为我的Win1K16是一个虚拟机,所以我正在尝试使用LinuxKit来解决问题。 它运行良好,但我似乎无法做一个简单的“docker加载IMAGENAME”到Docker守护进程的命名pipe道实例。 有人熟悉这个吗? 可以这样做吗? 如果可以的话,我可以在常规守护进程中运行Windows映像,然后在上面的文章中提到的基于Linux的命名守护进程。 任何帮助或指针表示赞赏。 我一直在尝试docker加载,docker导入,但他们总是失败。 在我的MAC上运行的最新的httpd映像导入失败: ERRO[2017-11-05T18:29:44.980312000-05:00] Handler for POST /v1.32/images/create returned error: re-exec error: exit status 1: output: Failed to Ope nForBackup failed in Win32: open \\?\C:\TEMP\LinuxOnWindowsData\windowsfilter\a882047bc4bcf11187a147aef493d535ac2814558fac0aea0b4def1214aa30b5\usr\ include\linux\netfilter\xt_connmark.h: The file exists. (0x1f) \\?\C:\TEMP\LinuxOnWindowsData\windowsfilter\a882047bc4bcf11187a147aef493d535ac28145 58fac0aea0b4def1214aa30b5\usr\include\linux\netfilter\xt_connmark.h

我如何访问在Windows操作系统的Docker工具箱Linux容器中创build的项目目录?

我刚刚在Windows 10 OS上安装了Docker ToolBox,并创build了一个Linux Python容器。 我已经从该容器中的GitHub克隆了一个项目。 我如何访问在Windows操作系统上的Linux容器中创build的项目目录? 他们保存在任何驱动器或目录? 我已经使用该命令获得了docker image容器 docker pull floydhub/dl-docker:cpu 并使用该命令运行它 docker run -it -p 8888:8888 -p 6006:6006 -v /sharedfolder:/root/sharedfolder floydhub/dl-docker:cpu bash 另外我正在运行我的项目使用docker快速启动terminal,有没有其他方式(基于GUI)来pipe理和运行我的项目?