• Docker 镜像


    列举

    列出本地主机上的镜像

    [running]jihite@:~$ docker images
    REPOSITORY                                                      TAG                 IMAGE ID            CREATED             SIZE
    test/ubuntu                                                     v1                  80e674d9a004        18 minutes ago      64.2MB

    参数:

    repository: 镜像仓库源

    TAG: 标签,版本概念,同一个镜像可以对应多个tag

    REPOSITORY:TAG 来定义不同的镜像

    获取一个镜像

    docker pull ubuntu:13.10

    下载到本地后,可以用这个镜像来创建容器

    问题: 必须把镜像下载到本地才可以在本地执行容器?

    查找

    方式1:https://hub.docker.com/

    方式2:命令

    [running]jihite@:~$ docker search ubuntu
    NAME                                                      DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    ubuntu                                                    Ubuntu is a Debian-based Linux operating sys…   10712               [OK]                
    dorowu/ubuntu-desktop-lxde-vnc                            Docker image to provide HTML5 VNC interface …   411                                     [OK]
    rastasheep/ubuntu-sshd                                    Dockerized SSH service, built on top of offi…   245                                     [OK]
    consol/ubuntu-xfce-vnc                                    Ubuntu container with "headless" VNC session…   212                                     [OK]
    。。。

    参数:STARTS 类似 Github 里面的 star, AUTOMATED: 自动构建

    删除

    docker rmi hello-world

    创建

    方式1:更新

    使用已有镜像来创建一个容器

    [running]jihite@:~$ docker run -t -i ubuntu:15.10 /bin/bash

    root@8d4479f6e4b4:/#

    上面的8d4479f6e4b4是容器的id

    在运行的容器内使用 apt-get update 命令进行更新

    docker commit -m="has update" -a="jihite" 8d4479f6e4b4 test/ubuntu:v2

    此时在看镜像列表,已添加v2

    [running]jihite@:~$ docker images
    REPOSITORY                                                      TAG                 IMAGE ID            CREATED             SIZE
    test/ubuntu                                                     v2                  c5535f23fb9e        5 minutes ago       137MB
    test/ubuntu                                                     v1                  80e674d9a004        55 minutes ago      64.2MB

    方式2:构建

    创建一个Dockerfile文件,内容

    FROM    centos:6.7
    MAINTAINER      Fisher "fisher@sudops.com"
    
    RUN     /bin/echo 'root:123456' |chpasswd
    RUN     useradd runoob
    RUN     /bin/echo 'runoob:123456' |chpasswd
    RUN     /bin/echo -e "LANG="en_US.UTF-8"" >/etc/default/local
    EXPOSE  22
    EXPOSE  80
    CMD     /usr/sbin/sshd -D

    每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的

    第一条FROM,指定使用哪个镜像源

    RUN 指令告诉docker 在镜像内执行命令,安装了什么

    CMD类似RUN命令,用于运行程序;RUN在docker build时执行,CMD在docker run时执行

    然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像

    [running]jihite@:~/soft/DOCKER$ docker build -t jihite/centos:6.7 .
    Sending build context to Docker daemon  2.048kB
    Step 1/9 : FROM    centos:6.7
    6.7: Pulling from library/centos
    cbddbc0189a0: Pull complete 
    Digest: sha256:4c952fc7d30ed134109c769387313ab864711d1bd8b4660017f9d27243622df1
    Status: Downloaded newer image for centos:6.7
     ---> 9f1de3c6ad53
    Step 2/9 : MAINTAINER      Fisher "jihite@163.com"
     ---> Running in 89692984b2d9
    Removing intermediate container 89692984b2d9
     ---> 7877c81fcad7
    Step 3/9 : RUN     /bin/echo 'root:123456' |chpasswd
     ---> Running in 0045a6808289
    Removing intermediate container 0045a6808289
     ---> e69b720625a7
    Step 4/9 : RUN     useradd runoob
     ---> Running in d6922cef70ff
    Removing intermediate container d6922cef70ff
     ---> 34126187e790
    Step 5/9 : RUN     /bin/echo 'runoob:123456' |chpasswd
     ---> Running in 66ae11b70d74
    Removing intermediate container 66ae11b70d74
     ---> 1910f1148a66
    Step 6/9 : RUN     /bin/echo -e "LANG="en_US.UTF-8"" >/etc/default/local
     ---> Running in e3af343f786f
    Removing intermediate container e3af343f786f
     ---> 1dde7508d315
    Step 7/9 : EXPOSE  22
     ---> Running in bdb74d714320
    Removing intermediate container bdb74d714320
     ---> cb9d1e155251
    Step 8/9 : EXPOSE  80
     ---> Running in 5458130fc48a
    Removing intermediate container 5458130fc48a
     ---> 8ed17c39c39e
    Step 9/9 : CMD     /usr/sbin/sshd -D
     ---> Running in a8133ae92d3a
    Removing intermediate container a8133ae92d3a
     ---> f9f4b6664e1d
    Successfully built f9f4b6664e1d
    Successfully tagged jihite/centos:6.7

    设置标签

    docker tag f9f4b6664e1d jihite/centos:dev

    再看

    [running]jihite@:~/soft/DOCKER$ docker images
    REPOSITORY                                                      TAG                 IMAGE ID            CREATED             SIZE
    jihite/centos                                                   6.7                 f9f4b6664e1d        2 hours ago         191MB
    jihite/centos                                                   dev                 f9f4b6664e1d        2 hours ago         191MB
  • 相关阅读:
    logging模块
    解压序列
    python碎片
    python碎片化
    [转]pycharm快捷键
    ios开发之自定义textView
    iOS 开发之字典写入文件
    iOS 开发之内存泄漏问题
    自己写小测试 内容:添加,删除,修改,详情,导出,上传文件,easyui tree树
    使用 jxl 实现复杂的excel 表格导出 java代码
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/12630879.html
Copyright © 2020-2023  润新知