Tag: perl

无法在docker中安装perl模块PerlIO :: locale

我遇到了在docker中安装某些Perl模块的问题。 有没有推荐的稳定的方式做这个默认的Ubuntu的图像? 另外,我不清楚如何访问安装日志文件在一个失败的版本(即cpan减去/.cpanm/build.log)。 以下Dockerfile失败并显示消息: 请为locale.xs指定原型行为(请参阅perlxs手册) 当它试图解决对PerlIO :: locale的依赖。 # use the ubuntu base image provided by dotCloud FROM ubuntu # make sure the package repository is up to date RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list RUN apt-get update # install perl and modules RUN apt-get install -y make RUN apt-get install -y […]

无法在Docker容器中安装Starman

我正在尝试为starman perl服务器创build一个应用程序的Docker容器 所以我的Dockerfile看起来像这样: FROM perl:latest MAINTAINER perl5 drd.trif@gmail.com RUN curl -L http://cpanmin.us | perl – App::cpanminus RUN cpanm Carton Starman RUN cachebuster=b953b35 git clone -b pb_on_docker –single-branch https://github.com/DragosTrif/PearlBee.git RUN cd PearlBee && carton install && carton install –deployment EXPOSE 8080 WORKDIR PearlBee CMD carton exec starman –port 8080 bin/app.psgi 但它没有安装Starman 我检查了build.log ,发现这个错误: 2016/09/27-08:18:16 Starman::Server (type […]

Docker Centos 7上的gdata :: installXLSXsupport()出现错误

我尝试在Docker镜像中的Centos7上安装带有XLSX支持的gdata包。 运行命令gdata :: installXLSXsupport()失败。 我的Dockerfile如下所示: FROM centos:latest RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm RUN yum install -y R RUN yum install -y libcurl-devel RUN yum install -y openssl-devel RUN yum install -y libssh2-devel RUN yum install -y libxml2-devel RUN yum install -y perl-CPAN RUN R -e "install.packages('gdata', repos='https://cran.rstudio.com/')" RUN R -e "gdata::installXLSXsupport()" 生成过程崩溃的最后一步与消息: Step 10/10 : […]

Docker Perl Sublimetext3开发设置

我在几年内第一次设置perl开发环境,我想利用docker和崇高的文本加上我在MAC OSX上运行。 我想用Docker创build一个开发环境,我可以与我的团队中的其他人分享。 我喜欢SublimeText和PerlCritic集成。 我了解主机装入的卷,以允许我在本地编辑并保存在docker集装箱上。 我无法解决的是如何避免在我的MAC上安装所有的perl依赖关系,使Sublime能够访问它们,并允许sublime perl批评集成运作。 是否有可能 :- a)将完整的perl环境安装在docker容器中(我知道这是真的) b)在我的MAC上使用SublimeText,以便所有的Sublime插件继续从容器中的依赖项工作? 我也明白,崇高的文本已经build立了perl的插件,但从我所了解的,发生在构build时,而不是发展中 – 因此仍然需要在MAC本地的依赖关系。

如何configurationdocker文件像perl一样运行cgi-script

我有这个文件: 的index.php Dockerfile /conf/myawesomesite.conf 的cgi-bin / helloworld.pl 在/conf/myawesomesite.conf中: <VirtualHost *:80> ServerAdmin webmaster@myawesomesite.com ServerName myawesomesite.com ServerAlias www.myawesomesite.com DocumentRoot /var/www/html/myawesomesite.com/httpdocs ErrorLog /var/www/myawesomesite.com/logs/error.log CustomLog /var/www/myawesomesite.com/logs/access.log combined Options ExecCGI AddHandler cgi-script .pl </VirtualHost> 在Dockerfile中: FROM ubuntu:16.04 ## Install Base Packages RUN apt-get update && apt-get -y install \ apache2 \ make \ curl \ git \ gcc RUN a2enmod […]

如何在Dockerfile中运行plenv / rbenv?

我想用plenv在plenv中安装perl 5.16。 apt-get只能得到5.14。 plenv将在$HOME/.plenv/versions/5.16.2/安装perl,我需要在$HOME/.profile添加一些行: export PATH="$HOME/.plenv/bin:$PATH" eval "$(plenv init -)" 然后运行plenv shell 5.16.2切换到新版本。 但是在Dockerfile中,我需要编写source $HOME/.profile && plenv shell 5.16.2 everyline,然后运行一些perl命令。 docker没有执行$HOME/.profile ,这是一个没有login的shell? 尽pipe我可以在每次RUN之前编写这样的命令,但是我怎么能在CMD做到这一点呢? docker工可以通过一些设置来解决这个问题吗?

我如何设置我的Dockerfile来使用cpanm来安装特定版本的Perl模块?

在我的Dockerfile中,我设置了将在运行时安装的Perl模块,如下所示: RUN ["cpanm", "Carp", "Carp::Heavy", "Class::Data::Inheritable"] 但是,对于一个模块,我需要特定版本的模块,而不是最新的模块。 我如何在上面的行中指定该版本? 我一直在网上search几个小时,还没有发现任何有用的东西。

从环境variablesconfiguration舞者?

我是新来的舞者,但我想configuration它在Docker容器中工作。 因此,我需要从环境中获取我的数据库设置。 在我的情况下,我有来自Docker的DB_PORT_3306_TCP_ADDR和DB_PORT_3306_TCP_PORT 。 不幸的是, Dancer::Plugin::Database模块在更改数据库以使用这些variables之前出错。 use Dancer ':syntax'; use Dancer::Plugin::Database; if ($ENV{DB_PORT_3306_TCP}) {## Connected via docker. database->({ driver => 'mysql', username => 'username', password => 'password', host => $ENV{DB_PORT_3306_TCP_ADDR}, port => $ENV{DB_PORT_3306_TCP_PORT}, database => $ENV{DB_ENV_MYSQL_DATABASE}, }); } 所以问题是,是否有一个好的方法来configuration舞者从环境variables,而不是通过静态YAML?

将Perl Docker容器部署到Elastic Beanstalk

我正在构build一个Docker容器,它从bitbucket中获取perl / mojolicious回购,但是我遇到了问题。 我有我的Dockerfile像这样: # DOCKER-VERSION 0.3.4 FROM perl:latest MAINTAINER My Name myname@name.com # Update aptitude with new repo RUN apt-get update # Install software RUN apt-get install -y git # Make ssh dir RUN mkdir /root/.ssh/ # Copy over private key, and set permissions ADD repo-key /root/.ssh/id_rsa # Create known_hosts RUN touch /root/.ssh/known_hosts # […]

在维护Docker镜像时,如何处理Perl模块更新?

我正在构build一个docker镜像,以便能够运行我们所有的Perl应用程序。 应用程序需要安装数百个CPAN模块。 docker图像的完整版本需要大约一个小时才能完成。 做完初始图像之后,我不确定如何最好地处理正在进行的更新。 我们可以在git中保留一个Dockerfile,然后根据需要进行修改,并将新的构build推送到dockerhub。 但是,如果构build的人没有全部的中间映像,那么添加一个CPAN模块可能是一个非常单调乏味的过程,他们甚至可能需要一个小时才能知道新模块是否安装正确。 另外,它会再次下载每个CPAN模块,这似乎有点冒险,因为新模块可能会发生突变。 或者,进行构build的人可以拖动最新的docker-hub镜像,然后以交互方式安装cpan模块,提交构build并将新镜像推送到dockerhub。 但是,我们只有我们的dockerhub图像,但不是主要的Dockerfile。 或者,另一个选项是为每个新的构build创build一个Dockerfile,它引用了以前的dockerhub映像。 这似乎过于复杂,但。 选项1)似乎是错误的。 我相当肯定,我们不希望从基本操作系统重build整个映像只是为了安装一个额外的模块。 然而,依赖于没有Dockerfiles的图像似乎也是有风险的。