如何为自己的docker 创建imageimage创建桌面系统

匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。使用 Docker/LXC 迅速启动一个桌面系统_Linux教程_Linux公社-Linux系统门户网站
你好,游客
使用 Docker/LXC 迅速启动一个桌面系统
作者:Linux
Docker 是 dotCloud 目前是开源引擎,旨在提供一种应用程序的自动化部署解决方案,简单的说就是,在 Linux 系统上迅速创建一个容器(类似虚拟机)并在容器上部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非常方便。因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法。更多的玩法还有大规模 web 应用、数据库部署、持续部署、集群、测试环境、面向服务的云计算、虚拟桌面 VDI 等等。&Docker 使用 Go 语言编写,用 cgroup 实现资源隔离,容器技术采用 LXC. LXC 已经足够成熟,被多个主流 PaaS 服务商采用(比如 dotCloud),国内的一些互联网公司也在用(比如腾讯)。虽然都是企图解决自动化部署方面的问题,Docker 的解决方式有别于我们常提到的 Puppet/Chef,他们虽然走的是不同的路,但也可以拿来一起用。&上面说了 Docker 有很多玩法,下面介绍的玩法是:在服务器上用 docker 创建桌面系统,然后在客户端上通过 ssh 远程连接桌面,可以看作是平民化的 VDI 解决方案。
Docker的搭建Gitlab CI 全过程详解
Docker 和一个正常的虚拟机有何区别?
在 Docker 中使用 MySQL
Docker 将改变所有事情
Docker安装应用( 6.5_x64)
安装 Docker/LXC
如果 Linux kernel 是 3.8 以前的内核,或者内核缺少 aufs 模块需要安装额外的扩展模块:
$ sudo apt-get install linux-image-extra-`uname -r`
安装 lxc-docker:
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:dotcloud/lxc-docker
$ sudo apt-get update
$ sudo apt-get install lxc-docker
运行一个简单系统
运行 docker 就会自动下载一个
镜像(第一次运行才需要下载),并在一个 container(容器)里运行一个 ubuntu 系统(类似虚拟机)和 shell:
$ docker run -i -t ubuntu /bin/bash
在 host 上 ps 一下发现 docker 使用 lxc-start 工具和 /var/lib/docker/containers/&/config.lxc 里的参数启动1个 lxc 容器并运行 /bin/bash 程序:
$ ps aux | grep docker
0:00 lxc-start -n a581df505cb9ea07e93de28d76fc9b4e1ee48b981ce994740efdaa65d0d307a3 -f /var/lib/docker/containers/a581df505cb9ea07e93de28d76fc9b4e1ee48b981ce994740efdaa65d0d307a3/config.lxc -- /sbin/init -g 172.16.42.1 -e HOME=/ -e PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -e DEBIAN_FRONTEND=noninteractive -- /bin/bash /src/startup.sh
运行一个 Hello world
启动一个 ubuntu 系统然后打印 hello world,囧,一个 ubuntu 系统的存在就是为了打印一个 hello world,世界变了,反了,操作系统和应用程序的地位颠倒了~
$ docker run -i -t ubuntu echo hello world
hello world
运行一个 &桌面& 系统
来看看如何启动一个 &桌面& 系统,按照 和开始 build 一个简单的 &桌面系统&:
$ docker build -t vpsee/docker-desktop git:///rogaha/docker-desktop.git
Step 1 : FROM ubuntu:12.10
---& b750fe79269d
Successfully built e5
build 完后就可以用 docker images 命令看到:
$ docker images
REPOSITORY
8dbd9e392a96
3 months ago
131.5 MB (virtual 131.5 MB)
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
8dbd9e392a96
3 months ago
131.5 MB (virtual 131.5 MB)
8dbd9e392a96
3 months ago
131.5 MB (virtual 131.5 MB)
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
ubuntu-12.10
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
ubuntu-quantal
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
ubuntu-quantl
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
vpsee/docker-desktop
18 minutes ago
12.29 kB (virtual 1.576 GB)
启动这个刚 build 好的 &桌面系统& 吧,注意 a581df505cb9 是这个容器的 ID:
$ docker run -d vpsee/docker-desktop
a581df505cb9
这个系统有自己的内部 IP 地址,外界不能直接访问,所以要想从外界 ssh 登陆的话,需要把它的 ssh 服务端口(22)和 host 上某个端口通过 docker port 命令做个映射,这样访问 host 上的 49153 端口就是访问某个 container 里面的 22 端口了:
$ docker port a581df505cb9 22
查看一下当前运行的容器:
$ docker ps
a581df505cb9
vpsee/docker-desktop:latest
/bin/bash /src/start
24 minutes ago
Up 24 minutes
然后我们可以在 Mac/Linux 客户端上通过 ssh 访问这个 &桌面& 了:
$ ssh -YC -c blowfish docker@192.168.2.45 -p 49153 ./docker-desktop
docker@192.168.2.45's password:
注意上面的 password 是随机生成的(每次创建新系统密码都会变),那密码是什么呢?通过 docker logs 可以找到:
$ docker logs a581df505cb9
User: docker Password: ieFi2iu1Phie
Adding user `docker' to group `sudo' ...
Adding user docker to group sudo
.config/rox.sourceforge.net/
.config/rox.sourceforge.net/ROX-Filer/
.config/rox.sourceforge.net/ROX-Filer/pb_Default
.config/rox.sourceforge.net/ROX-Filer/globicons
.config/rox.sourceforge.net/ROX-Filer/panels
.config/rox.sourceforge.net/ROX-Filer/menus2
.config/rox.sourceforge.net/ROX-Filer/Options
spring-desktop-wallpaper-11085.jpg
docker-desktop
从 Mac 上访问远端桌面的话需要有 X 环境(下载 XQuartz 安装即可);从 Linux 上可以直接访问。登陆后界面如下:
Docker 的详细介绍:Docker 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (03月10日)
& (03月09日)
& (03月24日)
& (03月09日)
& (02月24日)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款Docker创建base镜像_Linux教程_Linux公社-Linux系统门户网站
你好,游客
Docker创建base镜像
来源:Linux社区&
作者:mayuenjkxt
本着学习得态度,想了解创建基础的Docker镜像的方法,于是在Docker的官网上找到了说明,现翻译如下:
首先,创建base image是与所需创建的linux发行版有关的,不同发行版是差异的。
下面是几种示例:
1.使用tar命令创建完整镜像
使用Debootstrap来创建的base image
$ sudo debootstrap raring raring & /dev/null$ sudo tar -C raring -c . | sudo docker import - raringa29c15f1bf7a$ sudo docker run raring cat /etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=13.04DISTRIB_CODENAME=raringDISTRIB_DESCRIPTION="Ubuntu 13.04"
2.使用scratch创建base image
在Docker registry中有一个scratch,使用空的tar文件来创建镜像
$ tar cv --files-from /dev/null | docker import - scratch
现在你可以使用docker pull,来从最小的容器来创建image:
FROM scratchCOPY true-asm /trueCMD ["/true"]
上面这个是Dockerfile
--------------------------------------分割线 --------------------------------------
6/7系列安装Docker
Docker的搭建Gitlab CI 全过程详解
Docker安装应用(CentOS 6.5_x64)
在 Docker 中使用 MySQL
在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker
Docker安装应用(CentOS 6.5_x64)
Ubuntu 14.04安装Docker&
阿里云CentOS 6.5 模板上安装 Docker
Docker 的详细介绍:Docker 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (03月24日)
& (03月09日)
& (03月10日)
& (03月09日)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款工具类服务
编辑部专用服务
作者专用服务
运用Docker技术搭建linux桌面实验环境
通过Docker轻量级虚拟化技术手段,创造比传统vm更轻量,启动速度更快,效率更高的Linux桌面实验环境,提供给学生实验使用.
作者单位:
常州市广播电视大学,江苏常州,213000
年,卷(期):
机标分类号:
在线出版日期:
本文读者也读过
相关检索词
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)(C)北京万方数据股份有限公司
万方数据电子出版社}

我要回帖

更多关于 docker image 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信