• docker基础学习(一)


    操作演示:

    1、查看一个容器的版本

    [root@ELK-chaofeng08 ~]# docker version
    Client:
     Version:           18.09.3
     API version:       1.39
     Go version:        go1.10.8
     Git commit:        774a1f4
     Built:             Thu Feb 28 06:33:21 2019
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          18.09.3
      API version:      1.39 (minimum version 1.12)
      Go version:       go1.10.8
      Git commit:       774a1f4
      Built:            Thu Feb 28 06:02:24 2019
      OS/Arch:          linux/amd64
      Experimental:     false
    [root@ELK-chaofeng08 ~]# docker -v
    Docker version 18.09.3, build 774a1f4

    2、查找指定的镜像

    3、查看已安装的镜像

    [root@ELK-chaofeng08 ~]# docker image ls
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    redis               4.0-alpine          83944736833a        3 weeks ago         35.5MB
    busybox             latest              d8233ab899d4        4 weeks ago         1.2MB
    nginx               1.14-alpine         66952fd0a8ef        6 weeks ago         16MB

    4、从hub.docker.com网站拉取镜像

    [root@ELK-chaofeng08 ~]# docker image pull nginx:1.14-alpine

    5、拉取busybox

    [root@ELK-chaofeng08 ~]# docker image pull busybox
    Using default tag: latest
    latest: Pulling from library/busybox
    Digest: sha256:061ca9704a714ee3e8b80523ec720c64f6209ad3f97c0ff7cb9ec7d19f15149f
    Status: Image is up to date for busybox:latest

    6、删除一个镜像

    [root@ELK-chaofeng08 ~]# docker rmi busybox
    Untagged: busybox:latest
    Untagged: busybox@sha256:061ca9704a714ee3e8b80523ec720c64f6209ad3f97c0ff7cb9ec7d19f15149f
    Deleted: sha256:d8233ab899d419c58cf3634c0df54ff5d8acc28f8173f09c21df4a07229e1205
    Deleted: sha256:adab5d09ba79ecf30d3a5af58394b23a447eda7ffffe16c500ddc5ccb4c0222f

    7、查看已安装镜像的完整的IMAGE ID

    [root@ELK-chaofeng08 ~]# docker image ls --no-trunc
    REPOSITORY          TAG                 IMAGE ID                                                                  CREATED             SIZE
    redis               4.0-alpine          sha256:83944736833a71a490d842a93ec192d78fbe61063ca8b38d5a2b786f477f20ca   3 weeks ago         35.5MB
    nginx               1.14-alpine         sha256:66952fd0a8efa0598626fad89d3a0827bc24fc92c3adb576adbc9fd58606e1af   6 weeks ago         16MB

    8、查看容器中运行了哪些服务(包含启动和停止的)

    [root@ELK-chaofeng08 ~]# docker container ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
    fdbb9c2cc7c8        redis:4.0-alpine    "docker-entrypoint.s…"   30 minutes ago      Up 30 minutes       6379/tcp            redis1
    77f4d1bb8da9        nginx:1.14-alpine   "nginx -g 'daemon of…"   34 minutes ago      Up 34 minutes       80/tcp              web1

    还要关注STATUS的这个值,这个值显示为Up,表示服务处于启动状态。默认情况下不能看到停止状态的容器,所以需要加上-a参数,即“docker ps -a”来查看STATUS这个值为Exit,表示为关闭状态。

    9、启动一个容器

    一个容器中只能运行一个镜像,但是可以运行多个容器。

    [root@ELK-chaofeng08 ~]# docker container run --name redis2 -d redis:4.0-alpine
    68d5b4f366afe5e731112dfb809c8669dd186dbbd6259b59056811345ab1cc4c

    在docker run这个过程中,首先是去拉去本地的redis:4.0-alpine这个镜像image,我们刚刚是已经从互联网上拉取过并放在了本地,因此可以直接启动。但是如果docker没有找到本地的镜像image,则会去互联网上下载,然后再运行。其中--name是指定容器的名字,-d是指定运行的镜像,在运行容器之前还有创建容器这个过程。这就是他们启动的过程

    10、查看此时运行的容器

    [root@ELK-chaofeng08 ~]# docker container ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
    68d5b4f366af        redis:4.0-alpine    "docker-entrypoint.s…"   3 minutes ago       Up 3 minutes        6379/tcp            redis2
    77f4d1bb8da9        nginx:1.14-alpine   "nginx -g 'daemon of…"   44 minutes ago      Up 44 minutes       80/tcp              web1

    11、查看已运行的容器的详细信息

    [root@ELK-chaofeng08 ~]# docker inspect redis2

    12、交互式向容器发送指令

    [root@ELK-chaofeng08 ~]# docker exec -it redis2 /bin/ls /etc
    TZ              init.d          network         securetty
    alpine-release  inittab         opt             services
    apk             issue           os-release      shadow

    -i表示交互式输入指令。

    -t表示分配一个伪终端。

    13、查看容器的日志

    [root@ELK-chaofeng08 ~]# docker logs web1
    172.17.0.1 - - [20/Mar/2019:02:29:38 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"

    此容器中运行了一个web服务器,我们可以查看日志

    镜像的介绍:

     

     

    也就是说一个镜像可以有多个tag,但是一个tag只能对应一个镜像。

     

    14、删除镜像

    如果要删除镜像,此镜像必须是停止状态,然后需要先删除容器,再删除镜像,如下所示:

    [root@ELK-chaofeng08 ~]# docker ps
    CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS               NAMES
    db8c95fc5ba8        chen/busybox/httpd:v0.2   "httpd -f -h /data/h…"   28 minutes ago      Up 28 minutes                           jolly_poitras
    [root@ELK-chaofeng08 ~]# docker stop db8c95fc5ba8
    db8c95fc5ba8

    删除容器

    [root@ELK-chaofeng08 ~]# docker container ls -a
    CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                    
    db8c95fc5ba8        chen/busybox/httpd:v0.2   "httpd -f -h /data/h…"   32 minutes ago      Exited (137) 2 minutes ago
    9fdca18c27b4        chen/busybox/httpd:v0.1   "httpd -f -h /data/h…"   33 minutes ago      Exited (1) 33 minutes ago 
    68d5b4f366af        redis:4.0-alpine          "docker-entrypoint.s…"   6 hours ago         Exited (255) About an hour
    fdbb9c2cc7c8        redis:4.0-alpine          "docker-entrypoint.s…"   6 hours ago         Exited (0) 6 hours ago    
    77f4d1bb8da9        nginx:1.14-alpine         "nginx -g 'daemon of…"   6 hours ago         Exited (255) About an hour
    [root@ELK-chaofeng08 ~]# docker container rm 9fdca18c27b4
    9fdca18c27b4
    [root@ELK-chaofeng08 ~]# docker image ls
    REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
    chen/busybox/httpd       v0.2                2a906703e3da        33 minutes ago      1.2MB
    chen/busybox/httpd       v0.1                b17250b566ae        39 minutes ago      1.2MB
    redis                    4.0-alpine          83944736833a        3 weeks ago         35.5MB
    busybox                  latest              d8233ab899d4        4 weeks ago         1.2MB
    nginx                    1.14-alpine         66952fd0a8ef        6 weeks ago         16MB
    quay.io/coreos/flannel   v0.10.0-amd64       f0fad859c909        14 months ago       44.6MB
    [root@ELK-chaofeng08 ~]# docker image rm b17250b566ae
    Untagged: chen/busybox/httpd:v0.1
    Deleted: sha256:b17250b566aeeaa99a1e0850717d56b018d846cf6f27253a72ced90eb60912c3
    Deleted: sha256:2b0eba4397e6216f884be40579b35e0e950211bf8a751552f889a6a3200b5ed4
    [root@ELK-chaofeng08 ~]# docker image ls
    REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
    chen/busybox/httpd       v0.2                2a906703e3da        33 minutes ago      1.2MB
    redis                    4.0-alpine          83944736833a        3 weeks ago         35.5MB
    busybox                  latest              d8233ab899d4        4 weeks ago         1.2MB
    nginx                    1.14-alpine         66952fd0a8ef        6 weeks ago         16MB
    quay.io/coreos/flannel   v0.10.0-amd64       f0fad859c909        14 months ago       44.6MB

    删除镜像成功。

  • 相关阅读:
    redis有序集合性能 列表、集合、有序集合
    每天一个linux命令(26):用SecureCRT来上传和下载文件
    每天一个linux命令(25):linux文件属性详解
    每天一个linux命令(24):Linux文件类型与扩展名
    每天一个linux命令(23):Linux 目录结构
    每天一个linux命令(22):find 命令的参数详解
    每天一个linux命令(21):find命令之xargs
    每天一个linux命令(20):find命令之exec
    每天一个linux命令(19):find 命令概览
    每天一个linux命令(18):locate 命令
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/10563527.html
Copyright © 2020-2023  润新知