• docker命令和镜像容器的使用


    安装docker

    # 基础环境配置
    yum remove docker docker-common docker-selinux docker-engine
    yum install yum-utils device-mapper-persistent-data lvm2
    #请求docker地址
    wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
    # 设置清华源
    sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g'  /etc/yum.repos.d/docker-ce.repo
    # 刷新缓存
    yum makecache fast
    # 安装docker-ce  社区版,免费版 docker
    yum install docker-ce -y
    # 启动
    systemctl start docker
    # 查看docker服务端进程
    ps -ef|grep docker 
    # 7.1 检查docker版本
    [root@docker-01 ~]#docker version
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    配置加速器,常见方案有

    # 方案1,执行如下脚本即可
    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
    ========================================================================
    
    # 方案2,用你自己的 阿里云镜像加速器
    https://cr.console.aliyun.com/cn-beijing/instances/mirrors
    
    
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://ms9glx6x.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    使用镜像

    启动一个nginx测试
    1.  搜索官网镜像
    docker search  镜像名:镜像版本    # 语法
    docker search nginx  # 默认最新版本 nginx:latest
    2. 下载官网镜像
    docker  pull 镜像名:tag  版本   #语法
    docker pull nginx 
    docker  pull  nginx:latest 
    3.查看docker镜像
    docker images 
    docker image ls
    docker images nginx #根据名称查看镜像
    4.运行nginx镜像
    # -p 80:80   将宿主机的80流量转发给容器内目标端口  80端口
    # -d 后台运行docker实例进程
    docker run -d -p 28877:80  nginx 
    5.查看nginx镜像构建的最后一个命令是啥
    docker history nginx
    IMAGE          CREATED         CREATED BY                                      SIZE      COMMENT
    35c43ace9216   18 months ago   /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B        
          18 months ago   /bin/sh -c #(nop)  STOPSIGNAL SIGQUIT           0B        
          18 months ago   /bin/sh -c #(nop)  EXPOSE 80                    0B        6.导出镜像 docker save 镜像名 > 路径/导出名称
    docker save nginx > /opt/nginx.tar
    7.加载本地镜像
    docker load < /opt/nginx.tar
    8.删除镜像 docker rmi 镜像名称
    docker rmi nginx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    使用容器

    5. 运行容器后,会输出一个容器id记录号,可以用容器id去管理它
    [root@docker-01 ~]#docker run -d   -p 80:80      nginx
    f7bffe1c1854ec3c6c3c1d64a22d97a69414e07b5774bf44da494c219e231085
    6.查看运行的容器进程列表
    [root@localhost docker]# docker ps
    CONTAINER ID   IMAGE     COMMAND   					CREATED         STATUS         PORTS   				NAMES
    c1fe2788e41f   nginx     "/docker-entrypoint.…"   6 minutes ago   Up 6 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   tender_agnesi
    7.停止容器
    [root@localhost docker]# docker stop c1f
    c1f
    8.docker 容器停掉后,数据不会丢失 具体要看docker ps -a 能查到该容器记录
    [root@docker-200 ~]#docker ps -a
    CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                      PORTS     NAMES
    f7bffe1c1854   nginx     "/docker-entrypoint.…"   26 minutes ago   Exited (0) 57 seconds ago             keen_kirch
    dc597976c0a9   nginx     "/docker-entrypoint.…"   27 minutes ago   Exited (0) 27 minutes ago             romantic_albattani
    9.启动nginx容器 docker start 容器id
    [root@localhost docker]# docker start c1fe2788e41f
    c1fe2788e41f
    10.查看容器详细信息
    docker inspect nginx
    11.进入运行的容器内 docker exec -it 容器id 打开命令以bash打开 #it以交互方式打开
    [root@localhost docker]# docker exec -it c1fe2788e41f bash
    root@c1fe2788e41f:/# ls
    bin   docker-entrypoint.d   home   media  proc  sbin  tmp
    boot  docker-entrypoint.sh  lib    mnt    root  srv   usr
    dev   etc                   lib64  opt    run   sys   var
    12.查看容器运行日志 docker logs 容器id
    docker logs c1fe2788e41f #打印出所有日志
    docker logs -n 20 c1fe2788e41f #打印最后20行日志
    13.删除容器 前提条件是容器stop了 docker rm 容器名称
    [root@localhost docker]# docker ps -a
    CONTAINER ID   IMAGE     COMMAND                   CREATED             STATUS                      PORTS     NAMES
    c1fe2788e41f   nginx     "/docker-entrypoint.…"   About an hour ago   Exited (0) 12 seconds ago             tender_agnesi
    [root@localhost docker]# docker rm tender_agnesi
    tender_agnesi
    14.停止所有容器 docker stop $(docker ps -q)
    15.批量删除容器 docker rm 'docker ps -aq'   #-a显示所有记录 -q只显示id
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
  • 相关阅读:
    谈谈获得软考证书感悟
    Scala 高阶(八):集合内容汇总(下篇)
    基于C++的云安全主动防御系统客户端服务端设计
    [LeetCode 1373]二叉搜索子树的最大键值和
    一文了解Nginx及其基本配置
    数据结构与算法之LeetCode-515. 在每个树行中找最大值(DFS,BFS)
    ch1_系统启动_setup.S
    【Linux网络】FTP服务
    巧用Jmeter Debug sampler获取变量信息
    【C++】类和对象 _初始化列表 &必须使用初始化列表的三种情况【进阶篇 _复习专用】
  • 原文地址:https://blog.csdn.net/weixin_44440231/article/details/138198681