zoukankan      html  css  js  c++  java
  • Docker容器(五):Docker简单使用

    OK,有了Docker的基本命令,那就完全可以使用Docker了,下面简单拉取一个精简版的CentOS作为Docker的初步使用。

    拉取CenOS基础镜像

    执行命令 docker pull centos

    它默认去国外的仓库去拉取,但由于我们配置了阿里云的镜像仓库,所以从国内拉取,速度非常快。使用 docker images 来查看拉取下来的镜像。

    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    docker.io/centos    latest              75835a67d134        4 weeks ago         200 MB
    

    创建容器并运行

    执行命令 docker run -it 75835a67d134

    -it表示以交互方式运行,也就是执行完命令后直接进入容器内部,然后执行 ls -l 会发现,完完全全跟linux系统无异。使用命令 cat /etc/redhat-release 查看系统版本,如下:

    [root@40e3d7ba1402 /]# ll
    total 56
    -rw-r--r--  1 root root 12030 Oct  6 19:15 anaconda-post.log
    lrwxrwxrwx  1 root root     7 Oct  6 19:14 bin -> usr/bin
    drwxr-xr-x  5 root root   360 Nov 12 10:58 dev
    drwxr-xr-x  1 root root  4096 Nov 12 10:58 etc
    drwxr-xr-x  2 root root  4096 Apr 11  2018 home
    lrwxrwxrwx  1 root root     7 Oct  6 19:14 lib -> usr/lib
    lrwxrwxrwx  1 root root     9 Oct  6 19:14 lib64 -> usr/lib64
    drwxr-xr-x  2 root root  4096 Apr 11  2018 media
    drwxr-xr-x  2 root root  4096 Apr 11  2018 mnt
    drwxr-xr-x  2 root root  4096 Apr 11  2018 opt
    dr-xr-xr-x 87 root root     0 Nov 12 10:58 proc
    dr-xr-x---  2 root root  4096 Oct  6 19:15 root
    drwxr-xr-x  1 root root  4096 Nov 12 10:58 run
    lrwxrwxrwx  1 root root     8 Oct  6 19:14 sbin -> usr/sbin
    drwxr-xr-x  2 root root  4096 Apr 11  2018 srv
    dr-xr-xr-x 13 root root     0 Nov 12 10:58 sys
    drwxrwxrwt  7 root root  4096 Oct  6 19:15 tmp
    drwxr-xr-x 13 root root  4096 Oct  6 19:14 usr
    drwxr-xr-x 18 root root  4096 Oct  6 19:14 var
    [root@40e3d7ba1402 /]# cat /etc/redhat-release
    CentOS Linux release 7.5.1804 (Core) 
    

    查看镜像大小

    执行命令 docker images

    一个CentOS系统大小竟然才200M,用过VMware的都知道,一般镜像大约4个G,为何这个虚拟镜像才这么点,其实是Docker对虚拟镜像的Linux系统进行了裁切,将跟我们软件运行无关的硬件系统全部裁剪掉了,比如声卡,显卡等等吧仅仅留下了一个运行的内核Kernel。

    CentOS镜像的DockerFile

    FROM scratch
    ADD centos-7-docker.tar.xz /
    
    LABEL org.label-schema.schema-version="1.0" 
        org.label-schema.name="CentOS Base Image" 
        org.label-schema.vendor="CentOS" 
        org.label-schema.license="GPLv2" 
        org.label-schema.build-date="20181006"
    
    CMD ["/bin/bash"]
    

    以上就是CentOS的DockerFile了,其中scratch就相当于java中的Object类,它就是所有镜像的父类,所有的镜像都是依据DockerFile来创建的,下一章会介绍一下DockerFile是什么,如何简单编写。

  • 相关阅读:
    docker tar 镜像 容器相互转换
    JavaScript执行上下文
    JavaScript 作用域
    原型与原型链
    使用Navicat for Oracle新建表空间、用户及权限赋予
    PL/SQL Developer使用教程(中文)
    一步一步使用bootstrap开发一个博客模板
    How to create a simple blog using ASP.NET MVC
    一个有意思的编程网站
    一个很好的java编程国外网站
  • 原文地址:https://www.cnblogs.com/zhangjianbing/p/12443312.html
Copyright © 2011-2022 走看看