在32位ubuntu中安装docker并启动容器

不清楚系统版本的 可以通过uname -a命令查看 内核和版本( 显示系统版本为i386和i686的为 32位系统;显示为X86_64的,才是64位系统

在此先说一下,建议 安装64位系统 来安装使用。毕竟 貌似docker只支持64位系统(但也不是绝对的,这取决于 容器里你安装的 镜像系统版本
如果想在32位的Docker基础上运行Ubuntu的Image,那要求Ubuntu的image也必须是32位,可惜的是Docker Hub 上面的镜像都是64位的,所以想在32位系统的32位 应用程序下,安装并启动容器里 镜像的话,需要我们 自己作个32位 镜像。

下面是安装和制作镜像的步骤:

在ubuntu下安装Docker:

按照http://dockerpool.com/static/books/docker_practice/install/ubuntu.html的说明,根据步骤安装最新版本的docker。
安装好docker以后,如果你想启动一个容器,则需要首先在本地创建镜像文件,然后才能利用创建好的镜像文件去启动容器

创建镜像文件:

方法①:

sudo docker pull ubuntu:12.04 ——从官方仓库注册服务器下载标记为12.04的镜像文件。
有时候官方仓库注册服务器下载较慢,可以从其他仓库下载。从其它仓库下载时需要指定完整的仓库注册服务器地址。例如:sudo docker pull dl.dockerpool.com:5000/ubuntu:12.04

方法②:

通过修改已有的镜像,并利用docker commit提交更新后,再利用修改后的镜像启动容器。具体可以参考:http://dockerpool.com/static/books/docker_practice/image/create.html

方法③:利用Dockerfile来创建镜像。

具体参考http://dockerpool.com/static/books/docker_practice/image/create.html

a、创建一个目录和Dockerfile文件,命令如下:

mkdir sinatra
cd sinatra
touch Dockerfile

b、在vim中打开Dockerfile文件,并且按照下面的步骤编写Dockerfile文件:

#This is a comment
FROM ubuntu:12.04
MAINTAINER Docker Newbee newbee@docker.com
RUN apt-get –qq update
RUN gem install sinatra

注意:Dockerfile 基本的语法是
1. 使用#来注释
2. FROM 指令告诉 Docker 使用哪个镜像作为基础
3. 接着是维护者的信息
4. RUN开头的指令会在创建中运行,比如安装一个软件包,在这里使用 apt-get 来安装了一些软件

c、 编写完成Dockerfile以后,可以使用docker build来生成镜像。命令如下:

sudo docker build –t=”ouruser/sinatra:v2” .
其中,-t标记来添加tag,指定新的镜像的用户信息。”.”是Dockerfile所在的路径,表示当前路径,也可以指定其他路径。

d、利用新创建的镜像来启动一个容器,运行bash:

sudo docker run –i –t ouruser/sinatra:v2 /bin/bash
此时,出现错误,错误信息是:execformat error 。百度了好长时间,终于知道原因了。原来是我安装的docker是32位的,但是不管通过哪种方法创建的镜像却都是64位的,所以错误的原因是image不匹配造成的
所以,如果想在32位的Docker基础上运行Ubuntu的Image那要求Ubuntu的image也必须是32位。这就需要制作32位Ubuntu的Image
由于Docker Hub Registry上面的镜像都是64位的,所以这里需要自己做一个Ubuntu的镜像,这里使用import命令,该命令的官方解释为:Create anew filesystem image from the contents of a tarball。这里使用openVZ的模板来创建,openVZ模板的下载地址为:http://openvz.org/Download/template/precreated ,在该页面中有下面的Ubuntu模板可选择:

而我们需要下载的是32位的镜像,即图中红线所圈出来的版本。
下载好以后,利用如下命令创建镜像:catubuntu-14.04-x86-minimal.tar.gz | sudo docker import – ubuntu:14.04
创建好以后,利用docker images命令查看是否有此镜像存在。如果存在,则可以利用此镜像启动一个容器了,命令为:sudo docker run –i –t ubuntu:14.04 /bin/bash

发布了73 篇原创文章 · 获赞 187 · 访问量 77万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览