标签:
Docker 镜像就是一个只读的模板。
镜像可以用来创建 Docker 容器。
Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。
[root@iZ23fm6kfevZ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
aca_jingru/redis latest bdb12dc42e2a 5 hours ago 211.2 MB
test-nginx latest c81952cb725f 6 hours ago 132.8 MB
centos/acatest latest bd0469f6a6e4 3 days ago 364.4 MB
ansible/centos7-ansible latest c55641dfeade 4 days ago 435.5 MB
debian jessie df2a0347c9d0 5 days ago 125.1 MB
debian latest df2a0347c9d0 5 days ago 125.1 MB
debian 8 df2a0347c9d0 5 days ago 125.1 MB
debian 8.0 df2a0347c9d0 5 days ago 125.1 MB
training/webapp latest 02a8815912ca 9 days ago 348.7 MB
redis 3.0.1 95af5842ddb9 2 weeks ago 111 MB
redis
[root@iZ23fm6kfevZ ~]# docker search mongodb
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mongo MongoDB document databases provide high av... 638 [OK]
tutum/mongodb MongoDB Docker image – listens in port 2... 22 [OK]
waitingkuo/mongodb MongoDB 2.4.9 4 [OK]
sameersbn/mongodb 2 [OK]
cpuguy83/mongodb 2 [OK]
azukiapp/mongodb Docker image to run MongoDB by Azuki - htt... 2 [OK]
mminke/mongodb Mongo db image which downloads the databas... 1 [OK]
ncarlier/mongodb MongoDB Docker image based on debian. 1 [OK]
hairmare/mongodb MongoDB on Gentoo 1 [OK]
networld/mongodb Networld PaaS MongoDB image in default ins... 1 [OK]
pulp/mongodb 1 [OK]
dsbconsulting/mongodb 0 [OK]
partlab/ubuntu-mongodb Docker image to run an out of the box Mong... 0 [OK]
efaille/mongodb 0 [OK]
tianon/mongodb-server 0 [OK]
以上是搜索下载的步骤,很好理解。另外如果你没有pull,在容器启动的时候docker run,他会检测本地是否存在镜像,如果不存在他会自动下载的。
Docker 利用容器来运行应用。
容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
新建并启动 docker run
echo hello world
$ sudo docker run ubuntu:14.04 /bin/echo ‘Hello world‘
Hello world
启动一个bash并且与用户交互。
$ sudo docker run -t -i ubuntu:14.04 /bin/bash
root@af8bae53bdd3:/#
其中,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开
当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
更多的时候,需要让 Docker 容器在后台以守护态(Daemonized)形式运行。此时,可以通过添加 -d 参数来实现。
$ sudo docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147
很简单 docker stop
终止状态的容器可以用 docker ps -a 命令看到。例如
[root@iZ23fm6kfevZ ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6f9723cc2966 nginx:1 "ifconfig" 55 minutes ago trusting_almeida
4d5027eb1cef nginx:1 "nginx -g ‘daemon of 58 minutes ago Up 58 minutes 443/tcp, 0.0.0.0:80->80/tcp sleepy_torvalds
9261088e7a7f training/webapp:latest "python app.py" About an hour ago Exited (0) About an hour ago web
30d9b1ff7442 training/postgres:latest "su postgres -c ‘/us About an hour ago Exited (0) 58 minutes ago db
fcf2df79ba50 training/webapp:latest "python app.py" About an hour ago Exited (137) About an hour ago myweb3
3031f26062d9 training/webapp:latest "python app.py" About an hour ago Exited (137) About an hour ago myweb2
3367fdcfc385 training/webapp:latest
如果是用-d参数允许的docker,那么容器启动后会进入后台进行操作。某些时候需要进入容器进行操作,可以用docker attach 命令。
分别是docer export import ,用法很简单。
docker export 7691a814370e > ubuntu.tar
cat ubuntu.tar | sudo docker import - test/buntu:v1.0
docker rm
仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
yum -y install docker-io
yum -y install device-mapper-event-libs
/etc/init.d/docker restart
docker images
docker pull centos
docker pull debain
docker pull ubuntu
docker run -t -i centos /bin/bash
标签:
原文地址:http://blog.csdn.net/aca_jingru/article/details/46005505