zoukankan      html  css  js  c++  java
  • Docker Commands

    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??
  • 相关阅读:
    smb 共享文件夹
    php nginx 配置
    mysql 存储过程
    ubuntu 源码下载分析
    rust 小米R3G官方rom(openwrt) openssl
    rust 配置
    mac 制作树莓派3b启动盘
    小米R2D
    golang 配置
    golang pprof操作流程
  • 原文地址:https://www.cnblogs.com/zeweiwu/p/4747656.html
Copyright © 2011-2022 走看看