Tag: docker dockerfile

Dockerfile不安装ggmap

当我试图通过docker集装箱运行一个项目时,出现错误。 图片失败,说ggmap没有安装,尽pipe它在Dockerfile中被调用。 这里是我的存储库的链接: https : //github.com/TedHaley/tree_value.git 这是我的dockerfile看起来像: FROM rocker/tidyverse RUN Rscript -e "install.packages('devtools')" RUN Rscript -e "install.packages('ezknitr')" RUN Rscript -e "install.packages('lubridate')" RUN Rscript -e "install.packages('dplyr')" RUN Rscript -e "install.packages('readr')" RUN Rscript -e "install.packages('ggplot2')" RUN Rscript -e "install.packages('rgdal')" RUN Rscript -e "install.packages('broom')" RUN Rscript -e "install.packages('maptools')" RUN Rscript -e "install.packages('gpclib')" RUN Rscript -e "install.packages('packrat')" RUN Rscript […]

Dockerfile运行与运行图像和使用/ bin / bash提供不同的结果

我有一个简单的dockerfile,就像 FROM spotify/cassandra RUN sed -i -e "s/^authenticator:.*/authenticator: PasswordAuthenticator/" $CASSANDRA_CONFIG/cassandra.yaml \ && sed -i -e "s/^authorizer:.*/authorizer: org.apache.cassandra.auth.CassandraAuthorizer/" $CASSANDRA_CONFIG/cassandra.yaml RUN cassandra \ && sleep 10 && echo "Applying CQL scripts…" \ && cqlsh -u cassandra -p cassandra -f someScript && pkill -f cassandra 如果我从build立命令做一切事情 docker build –no-cache=true –rm=true . 我得到exception“AuthenticationException(为什么='用户名和/或密码不正确' 但是,如果我用最后一个命令创build图像,并启动它 docker run –rm -i -t […]

Bash脚本进入正在运行的容器,然后从该容器运行另一个bash脚本

我有一个shell脚本运行如下: image_id=$(docker ps -a | grep postgres | awk -F' ' '{print $1}') full_id=$(docker ps -a –no-trunc -q | grep $image_id) docker exec -i -t $full_id bash 当我从基本的Linux操作系统运行这个,我期望实际上进入postgres容器,这是一个正在运行的容器。 但问题是shell脚本在“docker exec”步骤中挂在第三行。 我的最终目标是使用bash脚本,input一个正在运行的postgres容器,并在该容器中运行另一个bash脚本。 但是,当我从命令行运行它相同的命令,它工作正常,让我进入postgres容器。 请帮忙,我花了几个小时来解决这个问题,但没有进展。 再次感谢

Docker和symfony

我正在与Docker苦苦挣扎。 我正努力创造一个图像来处理symfony项目,并在同一时间学习Docker。 这是我的Dockerfile: FROM php:7-apache LABEL Description = "This image is used to start Symfony3 project" ENV DIRPATH /var/www/html # apt-get command RUN apt-get update && apt-get install -y \ vim \ git \ && apt-get clean # Install Composer RUN curl -sS https://getcomposer.org/installer | php RUN mv composer.phar /usr/local/bin/composer # Install the Symfony Installer […]

在git上共享dockerfile和共享docker容器有什么区别?

当你在Docker上创build一个私有容器时,在我看来,有两个可行的select: 1 – 创build一个私人容器 2 – 共享私人git存储库上的dockerfile。 我不知道我要select哪种方法,这取决于我的用法(也许都是?),所以我想知道是否有人有兴趣分享他的经验。

具有Apache Spark的Docker容器,处于独立群集模式

我正在尝试构build一个包含Apache Spark的Docker镜像。 IT基于openjdk-8-jre官方图像。 目标是在集群模式下执行Spark,因此至less有一个主sbin/start-slave.sh (通过sbin/start-master.sh启动)和一个或多个从sbin/start-slave.sh ( sbin/start-slave.sh )。 查看我的Dockerfile和入口点脚本的spark-standalone- docker。 构build本身实际上是经过的,问题是当我想运行容器时,它很快就会启动并停止。 原因是Spark主启动脚本以守护进程模式启动主服务器并退出。 因此,容器终止,因为没有进程在前台运行了。 显而易见的解决scheme是在前台运行Spark主进程,但我无法弄清楚(Google也没有发现任何东西)。 我的“解决方法 – 解决scheme”是在Spark日志目录上运行tails -f 。 因此,我的问题是: 你如何在前台运行Apache Spark Master? 如果第一个是不可能的/可行的/无论如何,保持容器“活着”(我真的不想使用无限循环和睡眠命令)的首选(即最佳实践)解决scheme是什么?

dockerfile如何将SQL Server作为本地主机公开?

按照microsoft / mssql-server-linux 页面上的文档,它提供了以下命令来运行Docker容器。 docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Test!234' -p 1433:1433 -d –name sqllinux microsoft/mssql-server-linux 这工作正常,我可以打开SSMS并连接到localhost与凭据: 用户名:sa 密码:testing!234 之后我想要做的是创build一个Dockerfile ,它将创build图像,将执行相同的事情: FROM microsoft/mssql-server-linux ENV ACCEPT_EULA Y ENV SA_PASSWORD Test!234 EXPOSE 1433 1433 然后我运行docker build . -t sqltestfile docker build . -t sqltestfile后面跟着docker run sqltestfile 。 容器似乎开始很好,通过Kitematic,我可以看到(看起来像我)与运行其他图像相同的输出,但我无法通过SSMS使用localhost连接到这个图像。 什么需要改变Dockerfile以我期望的方式工作(可以通过localhost使用SSMS连接到容器实例)? 任何帮助将不胜感激!

docker:在Docker镜像中从git安装应用程序代码

我有多个Web应用程序(app1,app2,app3 … appN),每个应用程序(通过http)互相交互。 每个Web应用程序将运行在一个单独的泊坞窗容器中。 通过从git安装代码,设置数据库默认值并运行一些初始化来安装每个应用程序。 所有的应用程序将运行在一个主机(每个开发者将有他们/她的系统上的所有应用程序的副本)。 app3的所有者(对于前者)不会打扰或了解其他应用程序的设置,并会很乐意采取其他应用程序的默认设置。 QA团队也不了解如何设置应用程序,依靠默认的configuration。 注意:git存储库是密码authentication的。 要求是有: 使用默认configuration为每个应用程序创buildDocker容器,以便所有应用程序(通过docker-compose安装)都已预先configuration,并且无需额外工作就可以启动。 能够将最新的代码更改更新到Docker容器中 那么,docker是一个很好的解决scheme,我们可以完成其中大部分。 但是,以下是问题: 在docker构build过程中,不支持envvariables(不太可能)。 但是我们不能在Dockerfile中硬编码git仓库信息。 我们需要一个预先configuration的应用程序设置,但是我无法想象一个更简单的方法从git获取代码到docker镜像中。 对于git代码库的简单修改,不需要创build一个新的docker镜像。 相反,应该可以在容器内运行“git pull”。 (另外,对于该应用程序的开发人员,也可以在容器内部执行“git push” – 使开发testing更容易)。 对于所有这一切,git凭证需要是使用此特定开发人员。 在主机上安装git存储库并使用docker卷(-v)进行引用太笨拙了。 [如果开发者希望这样做,他们仍然可以这样做 – 但是我不会把它当作默认] 任何build议欢迎!

Dockerfile – 不能使用除“app.py”以外的其他名称

过去几天我一直在寻找Dockerfile。 我在Python 2.7中使用cx_Oracle。 以下是我的Dockerfile的外观: FROM sbanal/python-oracle-xe12.1-latest WORKDIR /code/app COPY generate_distance.py /code/app/app.py COPY generate_values.py /code/app/app2.py 为了便于解释,我已经制作了一个打印文件名的方法。 在generate_distance.py中: def test(): print "Generate distance" test() 在generate_values.py中: def test(): print "Generate values" test() 然后,我正在运行docker构build一个标记: docker build -t gen . Sending build context to Docker daemon 13.82kB Step 1/4 : FROM sbanal/python-oracle-xe12.1-latest —> 723335924016 Step 2/4 : WORKDIR /code/app —> […]

如何在泊坞窗图像中包含卷数据

我有两个卷从文件创build的docker图像(mybase) # set volume mount points for installation and home directory VOLUME ["/usr/local/data", "/var/local/data"] 现在我想要新的图像生产,将数据作为图像的一部分,以便我可以把它拉。 但是我不知道如何访问这些数据。 我想要做这样的事情 这将是我的新的Dockerfile for prod将从当前创build图像 FROM mybase ADD /usr/local/data:/usr/local/data 但目录不在主机上,所以我不知道如何添加它