如何在Ubuntu系统下安装docker
Docker是dotCloud最近几个月刚刚公布的开源引擎。它旨在为应用程序提供自动部署解决方案。简单来说,在Linux系统上快速创建一个容器(类似于虚拟机),在容器上部署和运行应用,通过配置文件自动安装、部署和升级应用,非常方便。由于使用了容器,可以方便的将生产环境和开发环境分开,互不影响,这是docker最常见的玩法。更多游戏包括大型web应用、数据库部署、持续部署、集群、测试环境、面向服务的云计算、虚拟桌面VDI等等。
注意:Docker需要Linux内核3.8以上才能正常工作。我也正常安装在ubuntu12.04 lts内核3.2,官方推荐ubuntu系统。这里有两个选择:Ubuntu 12.04 LTS或者最新的Ubuntu 13.10,本文更倾向于LTS。幸运的是,有一种方法可以解决内核版本问题。
1,更新Ubuntu内核
使用以下命令行将内核更新到3.8.0-25。
安装linux-image-3.8.0-25-generic
sudo apt-get安装Linux-headers-3 . 8 . 0-25-通用
完成后重启电脑,用“uname -r”命令检查内核是否更新成功。
2.安装lxc-docker
Root @ Ubuntu: sudoapt-get安装软件-属性-common # Add add-apt-repository命令。
root@ubuntu: sudo apt-get安装python-软件-属性
root @ Ubuntu:sudo Add-apt-repository ppa:dot cloud/lxc-docker #添加一个PPA源,比如ppa:user/ppa-name。
Root@ubuntu: sudo apt-get update #更新系统。
root @ Ubuntu:sudo apt-get install lxc-docker
3.测试是否成功安装了doctor。
Root@ubuntu:~# docker #以下消息显示docker安装成功。
用法:docker [OPTIONS]命令[arg...]
-H =[TCP://127 . 0 . 0 . 1:4243]:TCP://host:要绑定/连接到的端口或unix://path/to/socket使用
用于linux容器的自给自足的运行时。
...
你好世界
4.1,下载ubuntu官方镜像。
linji Qin @ Ubuntu:~ $ sudo docker pull Ubuntu # pull命令需要去国外的镜像仓库拉镜像,因为GFW的原因,拉很可能会失败。
4.2.运行hello world
linji Qin @ Ubuntu:~ $ sudo docker run Ubuntu/bin/echo hello world
5.docker常用命令
5.1,docker三种命令操作模式
Docker有三种命令操作模式:瞬态模式、交互模式和守护模式。
A.短命模式:就是刚才的“hello world”。命令执行后,容器会终止,但不会消失。你可以使用sudo docker ps -a来查看所有的容器。第一个是刚刚执行的容器。您可以再次执行它:
linji Qin @ Ubuntu:~ $ sudo docker start container _ id
但是这次看不到“hello world”,只能看到ID,而且只能用logs命令才能看到:
linjiqin@ubuntu:~$ sudo docker日志container_id
您可以看到两个“hello world ”,因为这个容器已经运行了两次。
b、互动模式
linji Qin @ Ubuntu:~ $ sudo docker run-I-t image _ name/bin/bash # image _ name是docker的图像名。
c,守护模式
也就是让软件作为长期服务运行,这就是SAAS!
比如无限循环打印脚本(被memcached,apache等代替。,操作方法不变!):
linji Qin @ Ubuntu:~ $ CONTAINER _ ID = $(sudo docker run-d Ubuntu/bin/sh-c " while true;做echo hello world睡眠1;完成”)
看看它在容器外的输出。
linji Qin @ Ubuntu:~ $ sudo docker logs $ CONTAINER _ ID
或者连接到容器进行实时查看。
linji Qin @ Ubuntu:~ $ sudo docker attach $ CONTAINER _ ID
终端容器
linji Qin @ Ubuntu:~ $ sudo docker stop $ CONTAINER _ ID
linji Qin @ Ubuntu:~ $ sudo dockerps #看,没了。
5.2.docker ps命令
linji Qin @ Ubuntu:~ $ sudo dockerps #列出所有当前运行的容器。
linji Qin @ Ubuntu:~ $ sudo docker PS-l #列出了最新启动和运行的容器。
linji Qin @ Ubuntu:~ $ sudo docker PS-a #列出所有容器。
注意:
A.其他用法请参考sudo docker ps -h H。
b、还有一种方法可以让程序运行在daemon模式,就是在Dockerfile中设置用户为daemon。
5.3、docker导出命令
linji Qin @ Ubuntu:~ $ container _ id = ` docker run-d & lt;image _ name & gtls ` 1
linji Qin @ Ubuntu:~ $ docker export $ container _ id & gt;image.tgz
5.4、docker导入命令
linji Qin @ Ubuntu:~ $ catimage . tgz | sudo docker import-simple _ dev # simple _ dev是用户自定义的图像名称。
5.5、docker端口命令
linji Qin @ Ubuntu:~ $ docker run-p 80:8080 & lt;image & gt& ltcmd & gt#将容器的端口8080映射到主机的端口80。
5.6、删除容器
5.6.1.删除所有容器。
linjiqin @ Ubuntu:~ $ sudo docker RM ` sudo docker PS-a-q '
5.6.1.删除特定容器。
linji Qin @ Ubuntu:~ $ sudo docker RM $ CONTAINER _ ID
5.7、docker命令快速参考
linji Qin @ Ubuntu:~ $ sudo docker images #查看本地图片
linji Qin @ Ubuntu:~ $ sudo docker attach $ container _ ID #启动一个现有的docker实例。
linji Qin @ Ubuntu:~ $ sudo docker Stop $ container _ id #停止docker实例
linji Qin @ Ubuntu:~ $ sudo docker logs $ container _ ID #检查docker实例运行日志,确保运行正常。
linji Qin @ Ubuntu:~ $ sudo docker inspect $ container _ ID #查看容器的实例属性,比如ip等等。
sudo docker run-t-I-v/home/linji Qin/dev/docker:/home/my container:rw-p 8000:8000 my docker/bin/bash
写在前面,运行我们映像的命令使用上面的作为参考,它将挂载本地文件夹,并将容器的8000端口映射到主机的8000端口。
/home/linjiqin/dev/docker是要挂载的本地文件夹,需要提前创建。
/home/mycontainer将路径映射到docker,执行上面的命令将帮助我们创建它。