Docker直译为码头工人。当它成为一种技术时,做的也是码头工人的事。官网是这样描述它的:“Docker是一个开发的平台,用来为开发者和系统管理员构建、发布和运行分布式应用。”也就是说,如果把你的应用比喻为货物,那么码头工人(Docker)就会迅速的用集装箱将它们装上船。快速、简单而有效率。
它是用Go语言写的,是程序运行的“容器”(Linux containers),实现了应用级别的隔离(沙箱)。多个容器运行时互补影响,安全而稳定。
我喜欢它的原因就是快速部署,安全运行,不污染我的系统。
Docker在Ubuntu的部署实践
本文讲述Docker在Ubuntu系统上的部署过程。其中,Ubuntu为12.04.5 LTS, Precise Pangolin版。
1、安装Docker
# apt-get update # apt-get install docker.io Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package docker.io E: Couldn't find any package by regex 'docker.io'
说明Ubuntu 12.04的软件仓库中没有Docker软件。检索网上的资料,Ubuntu 14.04是支持Docker的。在不升级OS的情况下,安装就需要采用另外的方法。
不过这样也好,软件仓库中的Docker通常都不是最新版本,采用其它安装方式可以安装最新版本的Docker。
注:在Ubuntu的软件仓库里,Docker叫docker.io,原因是已经有别的软件先占据了Docker这个名字。
# curl -sSL https://get.docker.com/ubuntu/ | sudo sh Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.JO0wslsx8U --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 gpg: requesting key A88D21E9 from hkp server p80.pool.sks-keyservers.net gpg: key A88D21E9: public key "Docker Release Tool (releasedocker) <docker@dotcloud.com>" imported ...... Setting up aufs-tools (1:3.0+20111101-1ubuntu1) ... Setting up cgroup-lite (1.1.5) ... cgroup-lite start/running Setting up lxc-docker-1.7.1 (1.7.1) ... docker start/running, process 10483 Setting up lxc-docker (1.7.1) ... Processing triggers for libc-bin ... ldconfig deferred processing now taking place
此命令会把Docker官方提供的最新版本的软件仓库替换Ubuntu的相应仓库。有一点要注意,采用这种方式进行安装,Docker的软件包名应该叫lxc-docker。此时,Docker命令的名字还是docker。而采用之前上面的安装方式,Docker命令的名字应该叫docker.io。
2、再升级Docker
# sudo apt-get update && sudo apt-get upgrade
3、添加用户权限
如果不是root用户的的操作,可以添加一个用户到Docker用户组,这样操作Docker时无需使用sudo命令。可以这样:
# sudo gpasswd -a USER docker
4、检查Docker的安装
# docker version Client version: 1.7.1 Client API version: 1.19 Go version (client): go1.4.2 Git commit (client): 786b29d OS/Arch (client): linux/amd64 Server version: 1.7.1 Server API version: 1.19 Go version (server): go1.4.2 Git commit (server): 786b29d OS/Arch (server): linux/amd64
5、列出正在运行的容器
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6、列出所有的容器(包括正在运行的容器和已经退出的容器)
# docker ps -a
7、列出本地(已下载的和本地创建的)镜像
# docker images
8、从镜像中运行一个新实例容器
# docker run
9、停止一个容器
# docker stop
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
更新日志
- 《粤语超白金 百听不厌的经典金曲 2CD》[WAV/分轨][1.3GB]
- 群星.1994-全世界精丫华星】【WAV+CUE】
- 杜德伟.1997-知.解2CD【滚石】【WAV+CUE】
- 群星.2022-一不小心喵上你原声大碟【TME影音】【FLAC分轨】
- 《战锤40K星际战士2》卡在正在加入服务器解决方法
- 《勇者斗恶龙怪物仙境3》玩法内容介绍
- 《幸福工厂》无限报错解决方法
- 交错战线原始交易所推荐角色一览
- 战锤40K星际战士2战术职业介绍|战术职业技能效果一览
- 战锤40K星际战士2突击职业介绍|突击职业技能效果一览
- [妙音金曲]群星《悲情咖啡屋》(黑胶)2CD[DTS-WAV]
- 阿兰·达瓦卓玛《A-Lan阿兰唯美歌姬》2CD[DTS-WAV]
- 【小提琴】陈立新《思乡曲》2004[FLAC+CUE]
- 《战地》新作明年初大规模测试!EA已内部测试一年
- 《GTAOL》PC版时隔多年更新反作弊!小助手宣布跑路