• 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是什么,如何简单编写。

  • 相关阅读:
    sql优化的几种方法
    webService使用
    Springboot 项目pom.xml 配置文件以及启动类的一些配置
    WebSocket消息推送(群发和指定到个人)
    有n级台阶,每次爬1或者2级台阶,用程序计算有多少种爬法
    对两个字符串进行比较,取出两个字符串中一样部分的长度
    java 日志 log4j
    进制转换
    java 调用第三方动态链接库
    如何使用 OpenFileDialog 组件
  • 原文地址:https://www.cnblogs.com/zhangjianbing/p/12443312.html
Copyright © 2020-2023  润新知