将一个GCC编译器安装到一个Docker容器上

我正在尝试将单包安装到Docker容器上,但mono需要git,autoconf,libtool,automake,build-essential,mono-devel和gettext包。

我遇到的问题是libtool需要libc-dev,而libc-dev需要gcc编译器。

docker容器没有安装任何编译器,但我的本地机器。

arcolombo@acolombo:~/Documents/bedgraph_dockerfile$ dpkg --list |grep compiler ii g++ 4:4.8.2-1ubuntu6 amd64 GNU C++ compiler ii g++-4.8 4.8.2-19ubuntu1 amd64 GNU C++ compiler ii gcc 4:4.8.2-1ubuntu6 amd64 GNU C compiler ii gcc-4.8 4.8.2-19ubuntu1 amd64 GNU C compiler ii hardening-includes 2.5ubuntu2.1 all Makefile for enabling compiler flags for security hardening ii libllvm3.5:amd64 1:3.5-4ubuntu2~trusty2 amd64 Modular compiler and toolchain technologies, runtime library ii libmono-compilerservices-symbolwriter4.0-cil 3.2.8+dfsg-4ubuntu1.1 all Mono.CompilerServices.SymbolWriter library (for CLI 4.0) ii libxkbcommon0:amd64 0.4.1-0ubuntu1 amd64 library interface to the XKB compiler - shared library ii mono-mcs 3.2.8+dfsg-4ubuntu1.1 all Mono C# 2.0 / 3.0 / 4.0 / 5.0 compiler for CLI 2.0 / 4.0 / 4.5 

所以我的问题是,什么是最简单的方法来获得gcc编译器到Docker容器? 我应该只是创build一个这些编译器目录到我的docker集装箱的卷?

我想我可能需要它的原因是因为我正在运行一个网站,并且网站直接执行一个docker镜像。

在你的Dockerfile中:

 FROM ubuntu # ... ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && \ apt-get -y install gcc mono-mcs && \ rm -rf /var/lib/apt/lists/* 

据我了解,操作指南混淆了术语,可能是要问:

在Docker 镜像上安装一个GCC编译器

我的答案首先是解决问题的题目(关于容器 ),然后转向问题的意图(关于图像 )。

如果你可以在容器中运行BASH shell,那么你不需要操作Dockerfile。

比方说,你可以试试docker run hello-world示例中的提示:

 docker run -it ubuntu bash 

然后,只需从容器中的shell运行这些…

 apt-get update apt-get install gcc 

一个关键的问题是,如果你不首先运行apt-get update ,那么apt-get install在一个原始的Docker容器中可能不会像预期的那样运行。 期待看到…

无法find程序包gcc

尝试安装g++而没有apt-get update时的错误消息由于“正则expression式”replace而变得更加混乱。


另见: http : //www.liquidweb.com/kb/how-to-list-and-attach-to-docker-containers

 docker ps -a ## list all available containers 

 docker exec -ti [CONTAINER ID] bash 

这种实时操作的方法也可以用来创build图像,可能是OP的目的。 使用docker commit将您的活动容器保存为新图像。

您也可以抓取已经安装了GCC和/或您需要的一些/大部分工具的官方图片。 docker商店有很多官方图片已经设置: https ://store.docker.com/search?page_size=99&q =&source=verified

我不确定它是否是正确的单声道,但他们有一个单声道图像: https : //store.docker.com/images/4234a761-444b-4dea-a6b3-31bda725c427?tab=description

和官方GCC图片: https : //store.docker.com/images/06ad851d-f666-47d3-9ef3-e90535c141ec?tab=description

还有buildpack-deps,如果你打算自己构build东西: https : //store.docker.com/images/9e56c286-5b40-4838-89fe-fd513c9c3bd6

您可以按类别浏览: https : //store.docker.com/search?page_size=99&q=&source=verified

也可以直接searchdocker中心为单声道或任何您的需求是: https : //hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q= mono&starCount =0