Docker Commands


安装,以Ubuntu 14.04.3为例

apt-get install docker.io

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

列出曾经存在的容器

docker ps -a

列出正在执行的容器

docker ps

查看docker信息

docker info

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

docker images

从Docker hub 下载镜像

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

启动一个容器

docker run -i -t busybox /bin/bash                     //busybox 是 镜像<8c2e06607696>的的repository
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

docker start/stop container_id

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

docker commit

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

docker build -t docker_test .

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

使用 docker commit 来扩展一个镜像比较简单,但它不容易在一个团队中分享它。我们可以使用 docker

build 来创建一个新的镜像。为此,首先需要创建一个 Dockerfile,包含一些如何创建镜像的指令。

Dockerfile 基本的语法是:

使用 # 来注释

FROM 指令告诉 Docker 使用哪个镜像作为基础

接着MAINTAINER是维护者的信息

RUN 开头的指令会在创建中运行,比如安装一个软件包,在这里使用 apt-get 来安装了一些软件

利用 ADD 命令复制本地文件到镜像

用 EXPOSE 命令来向外部开放端口

用 CMD 命令来描述容器启动后运行的程序

将制作的镜像上传到private registry

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

启动本地 Registry

docker run \
-e SETTINGS_FLAVOR=dev \ #basic configuration using the local flavor
-e STORAGE_PATH=/registry \
-p 5000:5000 \
registry

或者

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 Commands的更多相关文章

  1. useful commands for docker beginner

    You may want to add my wechat public account or add my technical blog's RSS feed This list is meant ...

  2. Install Docker on Ubuntu

    Install Docker on Ubuntu Estimated reading time: 17 minutes Docker is supported on these Ubuntu oper ...

  3. Install Docker on Mac OS X(转)

    Install Docker on Mac OS X You can install Docker using Boot2Docker to run docker commands at your c ...

  4. docker offical docs:Working with Containers

    enough ---------------------------------------------------------------------------------- Working wi ...

  5. 【微服务轻量化容器技术相关】同事分享的Docker学习汇总

    还没时间去练习: Docker commands: docker images (list all image on this host) docker ps -a ( list all contai ...

  6. Docker 命令(二)

    Docker 入门 启动docker systemctl start docker 帮助命令 docker --help docker [Commands] --help   例:docker run ...

  7. Docker - 在Ubuntu16.04中安装Docker CE

    Get Docker for Ubuntu Check system version root@Ubuntu16:~# uname -a Linux Ubuntu16 4.8.0-36-generic ...

  8. Docker And Swarm Mode(一)

    (一)节点的创建和配置 前言  虽然工作中一直在用Docker和Docker Swarm,但是总感觉有点陌生,总想自己亲手来写写和配置Docker 容器相关的事情,这篇文章主要是参考了Los Tech ...

  9. Docker教程:dokcer machine的概念和安装

    http://blog.csdn.net/pipisorry/article/details/50920982 Docker machine介绍 做为Docker容器集群管理三剑客之一的Docker ...

随机推荐

  1. java多线程 - 学习笔记

    ------------------------------------------------------------- sleep()与wait() sleep是线程类(Thread)的方法,wa ...

  2. 【刷题】洛谷 P3807 【模板】卢卡斯定理

    题目背景 这是一道模板题. 题目描述 给定\(n,m,p( 1\le n,m,p\le 10^5)\) 求 \(C_{n+m}^{m}\ mod\ p\) 保证 \(p\) 为prime \(C\) ...

  3. [AT2000] [agc002_f] Leftmost Ball

    题目链接 AtCoder:https://agc002.contest.atcoder.jp/tasks/agc002_f 洛谷:https://www.luogu.org/problemnew/sh ...

  4. 解题:AHOI 2013 作业

    题面 emmm......我把莫队扔到了杂题里,因为感觉局限挺大的=.= 这题是莫队维护信息+分块查询答案,都是两者的基本操作,复杂度$O(m$ $sqrt(n)+n$ $sqrt(m))$ 所以为啥 ...

  5. SpringMVC 国际化问题

    1.首先在src文件下添加3个properties文件 a.message.properties message.username=UserName message.password=Password ...

  6. 中南多校对抗赛 第三场 E

    E:Eulerian Flight Tour 题意: 给你一张无向图,要你给这个图加边使得其形成一个欧拉回路 题解: 首先使得所有节点的度都为偶数,然后将这个图联通起来 对于度为奇数的点,将将他和他的 ...

  7. windows环境下封装条件wait和signal

    linux 环境有提供好的pthread_cond_wait() 和 phread_signal().pthread_broadcast() windows需要自己封装,利用semophore控制线程 ...

  8. UVA - 11181 数学

    UVA - 11181 题意: n个人去买东西,其中第i个人买东西的概率是p[i],最后只有r个人买了东西,求每个人实际买了东西的概率 代码: //在r个人买东西的概率下每个人买了东西的概率,这是条件 ...

  9. DEV GridControl打印 导出

    /// <summary> /// 打印 /// </summary> /// <param name="sender"></param& ...

  10. 51nod 1629 B君的圆锥

    1629 B君的圆锥 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 B君要用一个表面积为S的圆锥将白山云包起来.   B君希望包住的白山云体积尽量 ...