码迷,mamicode.com
首页 > 其他好文 > 详细

docker cmds

时间:2015-08-21 12:47:36      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

Docker Commands


安装,以Ubuntu 14.04.3为例

  1. apt-get install docker.io

注意安装之前需要更新系统

列出曾经存在的容器

  1. docker ps -a

列出正在执行的容器

  1. docker ps

查看docker信息

  1. docker info

查看宿主机上的镜像,Docker镜像保存在/var/lib/docker

  1. docker images

从Docker hub 下载镜像

  1. docker pull ubuntu:latest
  2. docker pull ubuntu:12.04 //即从注册服务器registry.hub.docker.com 中的 ubuntu 仓库来下载标记为 12.04 的镜像

启动一个容器

  1. docker run -i -t busybox /bin/bash //busybox 是 镜像<8c2e06607696>的的repository
  2. docker run -i -t 8c2e06607696 /bin/sh //<8c2e06607696>是镜像

image 列表举例:
root@client:/home/andy# docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
master:5000/busybox latest 8c2e06607696 4 months ago 2.433 MB
busybox latest 8c2e06607696 4 months ago 2.433 MB

那么 镜像的repository 是怎么来的呢?
对于仓库 master:5000/busybox 来说,master:5000是注册服务器的地址,busybox是仓库名。

启动或停止某个container

  1. docker start/stop container_id

可以将container的变化作为一个新的镜像??

  1. docker commit

在Dockerfile所在目录执行docker build创建镜像

  1. docker build -t docker_test .

创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个。

使用 docker commit 来扩展一个镜像比较简单,但它不容易在一个团队中分享它。我们可以使用 docker
build 来创建一个新的镜像。为此,首先需要创建一个 Dockerfile,包含一些如何创建镜像的指令。
Dockerfile 基本的语法是:

使用 # 来注释
FROM 指令告诉 Docker 使用哪个镜像作为基础
接着MAINTAINER是维护者的信息
RUN 开头的指令会在创建中运行,比如安装一个软件包,在这里使用 apt-get 来安装了一些软件
利用 ADD 命令复制本地文件到镜像
用 EXPOSE 命令来向外部开放端口
用 CMD 命令来描述容器启动后运行的程序

将制作的镜像上传到private registry

  1. docker tag test docker.example.com/test //docker tag 命令来修改镜像的标签 docker tag 5db5f8471261 ouruser/sinatra:devel
  2. docker push docker.example.com/test

启动本地 Registry

  1. docker run \
  2. -e SETTINGS_FLAVOR=dev \ #basic configuration using the local flavor
  3. -e STORAGE_PATH=/registry \
  4. -p 5000:5000 \
  5. registry

或者

  1. docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/tmp/registry -p 5000:5000 registry

如果本地没有拉取过docker-registry,则首次运行会pull registry,运行时会映射路径和端口,以后就可以从/opt/data/registry下找到私有仓库都存在哪些镜像,通过主机的哪个端口可以访问。
参数 -v /opt/data/registry:/tmp/registry 的作用是实现存储持久化。上面的例子中,上传的镜像将放到/opt/data/registry目录。

问题

  • 如何将创建的image上传到自己私有的registry?
  • 怎么理解docker images的第一个列:REPOSITORY??




docker cmds

标签:

原文地址:http://www.cnblogs.com/zeweiwu/p/4747466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!