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. Linux环境安装.NET运行环境

    Linux环境安装.NET运行环境 Linux环境安装.NET运行环境 1. 构建编译环境: (1) sudo apt-get install build-essential (2) sudo apt ...

  2. 【BZOJ4198】【NOI2015】荷马史诗(贪心,Huffman树)

    [BZOJ4198][NOI2015]荷马史诗(贪心,Huffman树) 题面 BZOJ 洛谷 题解 合并果子都是不知道多久以前做过的了.现在才知道原来本质就是一棵哈夫曼树啊. 这题我们仔细研究一下题 ...

  3. 【BZOJ2878】【NOI2012】迷失游乐园(动态规划)

    [BZOJ2878][NOI2012]迷失游乐园(动态规划) 题面 BZOJ 题解 记得以前考试的时候做过这道题目 这题的暴力还是非常显然的,每次\(dfs\)一下就好了. 时间复杂度\(O(n^2) ...

  4. 【BZOJ1566】【NOI2009】管道取珠(动态规划)

    [BZOJ1566][NOI2009]管道取珠(动态规划) 题面 BZOJ 题解 蛤?只有两档部分分.一脸不爽.jpg 第一档?爆搜,这么显然,爆搜+状压最后统计一下就好了 #include<i ...

  5. BZOJ3261:最大异或和——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3261 给定一个非负整数序列{a},初始长度为N. 有M个操作,有以下两种操作类型: 1.A x:添加 ...

  6. MySQL用户授权

    一.授权语法格式  grant 权限列表 on 数据库名.表名 to '用户名'@'客户端主机' [identified by '密码']; 单词: privileges [ˈprivilidʒz] ...

  7. 转载乙醇大师的appium简明教程

    appium简明教程(11)——使用resource id定位(仅支持安卓4.3以上系统) 乙醇 2014-06-28 21:01 阅读:16406 评论:21 appium简明教程(10)——控件定 ...

  8. [POJ3613] Cow Relays

    link 题目大意 给你一个含有边权的无向图,问从$S$到$T$经过$N$条边的最小花费. 试题分析 我们可以很容易推导$dp$方程,$dp(k,i,j)$表示经过$k$条边从$i$到$j$的最小花费 ...

  9. oracle中的substr()函数

    SUBSTR(cExpression,nStartPosition [,nCharactersReturned])其中,cExpression指定要从其中返回字符串的字符表达式或备注字段:nStart ...

  10. Spring MVC入门示例

    1.新建一个Java Web项目 2.导入jar包 3.在WEB-INF下面建一个hello.jsp页面. <%@ page language="java" import=& ...