一、Docker是什么
docker直译为码头工人。当它成为一种技术时,做的也是码头工人的事。官网是这样描述它的:“Docker是一个开发的平台,用来为开发者和系统管理员构建、发布和运行分布式应用。”也就是说,如果把你的应用比喻为货物,那么码头工人(Docker)就会迅速的用集装箱将它们装上船。快速、简单而有效率。
它是用Go语言写的,是程序运行的“容器”(Linux containers),实现了应用级别的隔离(沙箱)。多个容器运行时互补影响,安全而稳定。
我喜欢它的原因就是快速部署,安全运行,不污染我的系统。
二、试用 Try it!
官方提供一个互动的小教程,让你很容易的了解Docker的基本用法,快去试试吧!
三、安装
官方直接支持64位Linux系统安装Docker,但如果想在32位系统中运行,有人也进行了一些尝试,比如32Ubuntu下,参考点击打开链接。
其他系统的安装请参考官网,下面说说我在Ubuntu14.04下的安装。
1.将镜像加入到程序源中:
~$ sudo sh -c "echo deb http://mirror.yandex.ru/mirrors/docker/ docker main > /etc/apt/sources.list.d/docker.list"
2.接着update
$ sudo apt-get update
3.如果报错就fix掉它:
W: GPG error: http://mirror.yandex.ru docker Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D8576A8BA88D21E9
解决此错误:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D8576A8BA88D21E9
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.RmJ1SUpsXX --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D8576A8BA88D21E9
gpg: requesting key A88D21E9 from hkp server keyserver.ubuntu.com
gpg: key A88D21E9: public key "Docker Release Tool (releasedocker) <docker@dotcloud.com>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
4.下载docker:
$ sudo apt-get install lxc-docker
静静的等待它下载完成吧。
另外,这个命令也许会有帮助:
$ curl -sSL https://get.docker.com/ubuntu/ | sudo sh
四、初步使用
终端中输入docker,打印出docker的命令列表:
Commands:
attach Attach to a running container
build Build an image from a Dockerfile
commit Create a new image from a container's changes
cp Copy files/folders from a container's filesystem to the host path
create Create a new container
diff Inspect changes on a container's filesystem
events Get real time events from the server
exec Run a command in a running container
export Stream the contents of a container as a tar archive
history Show the history of an image
images List images
import Create a new filesystem image from the contents of a tarball
info Display system-wide information
inspect Return low-level information on a container
kill Kill a running container
load Load an image from a tar archive
login Register or log in to a Docker registry server
logout Log out from a Docker registry server
logs Fetch the logs of a container
port Lookup the public-facing port that is NAT-ed to PRIVATE_PORT
pause Pause all processes within a container
ps List containers
pull Pull an image or a repository from a Docker registry server
push Push an image or a repository to a Docker registry server
restart Restart a running container
rm Remove one or more containers
rmi Remove one or more images
run Run a command in a new container
save Save an image to a tar archive
search Search for an image on the Docker Hub
start Start a stopped container
stop Stop a running container
tag Tag an image into a repository
top Lookup the running processes of a container
unpause Unpause a paused container
version Show the Docker version information
wait Block until a container stops, then print its exit code
接下来就可以尝试使用这些命令了,不过在进行下一步之前,我们要先了解几个概念。
五、重要概念
1.image 镜像
镜像就是一个只读的模板。比如,一个镜像可以包含一个完整的Ubuntu系统,并且安装了apache。
镜像可以用来创建Docker容器。
其他人制作好镜像,我们可以拿过来轻松的使用。这就是吸引我的特性。
2.Docker container 容器
Docker用容器来运行应用。容器是从镜像创建出来的实例(好有面向对象的感觉,类和对象),它可以被启动、开始、停止和删除。
3.仓库
这个好理解了,就是放镜像的文件的场所。比如最大的公开仓库是Docker Hub。
六、几个简单的实践
1.search
搜索仓库中是否有wordpress这个博客镜像,如下:
$ docker search wordpress
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
wordpress The WordPress rich content management syst... 185 [OK]
2.下载这个镜像
$ docker pull wordpress
wordpress:latest: The image you are pulling has been verified
3.查看自己的镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
linc-wiki latest b5a1e34b01c2 27 hours ago 689.7 MB
ubuntu latest 5ba9dab47459 5 days ago 188.3 MB
wordpress latest ecc04d6d638c 6 days ago 470 MB
4.简单的运行
运行wordpress要进行mysql的配置,为了演示run,将ubuntu跑起来吧。
$ docker run -it ubuntu /bin/bash
root@46ff2a695ce1:/# echo "I am linc"
I am linc
至此,体验结束。后续会有更加精彩的实践等着我们,Docker,我们来了!
参考:
https://docs.docker.com/installation/ubuntulinux/
https://bitnami.com/stack/mediawiki
https://docs.docker.com/userguide/
https://dockerpool.com/static/books/docker_practice
http://zhumeng8337797.blog.163.com/blog/static/1007689142014524115743806/
http://www.cnblogs.com/imoing/p/dockervolumes.html
https://github.com/docker/fig/issues/88
分享到:
相关推荐
docker实践,详细步骤,适合初学者
开发者必备的 Docker 实践指南.pdf
阿里--AI开发者的Docker实践
Docker 实践、Docker 中文教程
提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段使用的玩具了。作为在生产环境中广泛应用的产品,Docker 有着非常成熟的社区以及...
虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术。 整理于掘金小册 《开发者必备的 Docker 实践指南》
网易蜂巢容器公有云的Docker实践
docker的进阶书籍,非常不错,作者是华为docker实践小组的。
蚂蚁金服金融云PaaS docker实践,蚂蚁金服金融云PaaS docker实践
DOcker实践大全
蚂蚁金服Docker实践的挑战与方案 ACS简介 以容器为载体,为PaaS/SaaS按需提供计算存储网络资源,提高资源的利用率与交付速度 适配多种IaaS环境,对PaaS/SaaS屏蔽IaaS实现细节 实现容器/集群级别的标准化与可复制/可...
持续交付与Docker实践V1.pptx
Docker-从入门到实践 pdf 中文文字版适用于v17.0
Docker企业级架构篇,阐述了docker在企业中的优秀案例。
Docker从入门到实践 Docker从入门到实践 Docker从入门到实践
Docker:开发实践
1-华为CCE容器云实践,2-构建一个可伸缩性的容器平台的挑战与机遇,3-网易蜂巢容器公有云的Docker实践.