Tag: 泊坞窗

在Docker中查找数据卷

目前我正在尝试学习docker,而且我对数据卷实际存在的位置感到困惑。 我正在使用Docker for windows。 (Windows 10) 在文档中,他们说运行docker检查对象会给你的源代码: https : //docs.docker.com/engine/tutorials/dockervolumes/#locating-a-volume $ docker inspect web "Mounts": [ { "Name": "fac362…80535", "Source": "/var/lib/docker/volumes/fac362…80535/_data", "Destination": "/webapp", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ] 但是我不明白这一点,我得到以下几点: $ docker inspect blog_postgres-data [ { "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/blog_postgres-data/_data", "Name": "blog_postgres-data", "Options": {}, "Scope": "local" } ] 谁能帮我? […]

我可以在Windows Server容器内运行Internet Explorer吗?

我想实现我的梦想,让我的networking应用程序容器和selenium容器内testing它。 然后,我可以通过创build一个容器集群大规模平行我的浏览器testing。 是否有可能在Windows Server容器中运行Internet Explorer? 谢谢

不能在PHP5.6-apache容器中安装memcached包

我试图让mamcache工作。 使用来自https://hub.docker.com/_/php/(PECL扩展)的示例。 接下来我的dockerfile简单一些: FROM php:5.6-apache RUN apt-get update && apt-get install -y libmemcached-dev \ && pecl install memcached \ && docker-php-ext-enable memcached 但最后我得到了下一个: checking for zlib location… configure: error: memcached support requires ZLIB. Use –with-zlib-dir=<DIR> to specify the prefix where ZLIB headers and library are located ERROR: `/tmp/pear/temp/memcached/configure –with-php-config=/usr/local/bin/php-config –with-libmemcached-dir=no' failed error: /usr/local/lib/php/extensions/no-debug-non-zts-20131226/memcached does not […]

我可以在同一个docker引擎主机中混用基于linux的和基于windows的容器吗?

现在,使用Windows Containers的新function,基于Windows的容器是可能的,但是它提出了这个问题? 我可以在同一个docker引擎主机中混用基于linux和基于windows的映像吗? 如果是的话,将要工作的所有networkingfunction? 这是独立于用户的主机操作系统吗?

docker统计100%的内存

我有一个容器,运行一个Java应用程序与以下jvm参数: -XX:+UseG1GC -Xms512m -Xmx2048m -XX:MaxPermSize=256m 我正在使用docker内存限制选项: docker run -it -m 2304m foo bash 在容器初始化后运行docker stats myApp就会给我: CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O myApp 0.17% 660.5 MB/2.416 GB 27.34% 240.8 kB/133.4 kB 但几个小时后,我有以下数据: CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O myApp 202.18% 2.416 GB/2.416 GB 100.00% 27.67 GB/19.49 GB 虽然,如果我查看容器内正在运行的应用程序的进程执行细节,我有~735MB的用法,myApp继续计算请求没有任何问题: me@docker-container […]

运行Docker for Windows,暴露端口时出错

我知道有很多关于在Windows上运行Docker的问题,但是这个问题是关于在Windows上运行全新的Docker for Windows。 在我的情况下,我正在使用Windows 10 Pro 64位。 根据网站这个版本应该被支持。 我一直在关注我在这里find的教程: https : //prakhar.me/docker-curriculum/ 我也尝试遵循当然的官方指南: https : //docs.docker.com/docker-for-windows/ 在这两个教程中,当尝试使用-P参数分配端口或尝试指定端口时,都会得到相同的错误消息-p 8080:5000 : 在官方指南中运行docker run -d -p 80:80 –name webserver nginx并获取: C:\ Program Files \ Docker \ Docker \ Resources \ bin \ docker.exe:来自守护程序的错误响应:驱动程序无法编程端点webserver上的外部连接(f9946544e4c6ad2dd9cb8cbccd251e4d48254e86562bd8e6da75c3bd42c7e45a):启动userland代理时出错:mkdir /port/tcp:0.0.0.0: 80:tcp:172.17.0.2:80:input/输出错误。 继非官方指导我运行docker run -p 8888:5000 prakhar1989/catnip并得到基本相同的错误: C:\ Program Files \ Docker \ Docker \ […]

旋转docker蒙戈与副本集

对于本地和构build服务器上的自动化testing,我正在尝试使用副本集(我需要oplog)创build一个mongo映像。 副本集的设置要求我进入mongo shell并调用“ rs.initiate() ”。 我希望这一切都在代码中完成。 public void SpinUpMongoWithReplicaSet() { Process.Start("docker", "run -p 123:27017 –name test_mongo -d mongo:latest mongod –replSet rs0").WaitForExit(); var replicaSetProcess = new Process { StartInfo = new ProcessStartInfo { FileName = "docker", Arguments = "exec -it test_mongo mongo", UseShellExecute = false, RedirectStandardInput = true } }; replicaSetProcess.Start(); using(StreamWriter writer = replicaSetProcess.StandardInput) { […]

Postgres Docker Image:无法将数据库映射到主机

我使用Docker Hub的股票官方Postgres图片。 docker pull postgres 。 我想将Postgres容器中的data目录映射到我的OS X主机。 所以,我试了这个。 docker run –rm -p 5432:5432 -e POSTGRES_PASSWORD=mypass -v `pwd`/data:/var/lib/postgresql/data postgres 这导致Postgres容器无法正确启动。 fixing permissions on existing directory /var/lib/postgresql/data … ok creating subdirectories … initdb: could not create directory "/var/lib/postgresql/data/global": Permission denied initdb: removing contents of data directory "/var/lib/postgresql/data" 我试图实现的目标是让我的数据库数据存储在主机上,这样我就可以启动一个postgres容器,并从前一个实例读取(或加载)数据库。 我在正确的轨道上还是这是一个愚蠢的方式来实现数据库的持久性?

为什么在构build时不postgres官方docker回购启动数据库服务?

在https://github.com/docker-library/postgres(github回购)和https://registry.hub.docker.com/_/postgres/ (docker中心)的背景下, 可以看出数据库是由Entrypoint和CMD用bash脚本启动的 /docker-entrypoint.sh 同 ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 5432 CMD ["postgres"] 提供另一个脚本钩来改变数据库 /docker-entrypoint-initdb.d 这意味着只有在运行时键入docker run命令时,数据库才能启动(可以是pqsl)。 这会导致一个问题,我们无法在构build时运行数据库之前自定义数据库,例如添加扩展名和使用数据填充数据库。 当然,这可以在运行时完成。 但每次运行图像时都有重复操作的优点。 那么,从Docker或Postgres的angular度来看,这个devise背后的逻辑是什么? 我怎样才能添加扩展和生成时间填充数据?

如何在构build时创build已填充的MySQL Docker镜像

我想创build一个已经填充数据的MySQL Docker镜像。 我想创build这样的3层: |———————|———————| Layer 3 | Customer 1 Database | Customer 2 Database | |———————|———————| Layer 2 | Database image with tables but no data | |——————————————-| Layer 1 | mysql:5.6.26 | |——————————————-| 我的问题是现在如何为第2层和第3层创build一个正确的Dockerfile? 其中我的empty_with_tables.sql文件被加载到第2层,customer1.sql和customer2.sql被加载到第3层的两个图像中。我读了一些关于将SQL文件放入“/docker-entrypoint-initdb.d”的内容。 但这会导致图像首次启动时的数据。 这不是我想要的。 我希望数据在图像中准备好(例如在testing中快速提供)。 我可以启动mysql映像,从命令行加载数据并执行“提交”,但这不是可重复的,需要在SQL文件中的数据更改时重新执行。 如何才能做到这一点? 最好的祝福, 莫滕格林赫尔曼森