zoukankan      html  css  js  c++  java
  • Docker--镜像&&容器基本操作

    1 基础镜像

    BusyBox 一个极简版的Linux系统 集成了100多种常用Linux命令 大小不到2MB 适用于简单测试场景
    Alpine 一个面向安全的轻型Linux发行版系统 比BusyBox功能更完善 大小不到5MB 是官网推荐的基础镜像 由于其包含了足够的基础功能和体积较小 在生产环境中最常用
    Debian/Ubuntu Debian系列操作系统 功能完善 大小约170MB 适合研发环境
    CentOS/Fedora 都是基于Redhat的Linux发行版 企业级服务器常用操作系统 稳定性高 大小约200MB 适合生产环境使用

    2 镜像基本命令

    docker search xxxx 在docker官方仓库查找所需镜像
    docker pull centos 从默认仓库拉取centos镜像最新版
    docker image ls 查看本机的image
    docker images  
    docker image rm 镜像名称/ID 删除image
    docker rmi 镜像名称/ID  
    docker inspect [选项] 镜像 查看image的详细信息
    docker tag 镜像名:标签 新镜像名 给镜像打标签

    3 docker 加速 使用国内镜像加速器 使拉取镜像更快速

     1)修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值并重启docker(可以登录阿里云控制台 搜索容器镜像服务 来获取自己的镜像加速地址)

    vim /etc/docker/daemon.json
    {
        "registry-mirrors":  ["镜像加速地址"]
    }
    systemctl daemon-reload
    systemctl restart docker

     2)修改docker服务的启动命令 在启动时传入"--registry-mirror=xxx"参数实现

    vim /usr/lib/systemd/system/docker.service
        ExecStart=/usr/bin/dockerd --registry-mirror=镜像加速地址
    systemctl daemon-reload
    systemctl restart docker

    4 启动容器及其参数

     语法 docker run -itd[参数] centos(镜像名称) (run 若没有镜像会直接下载)

    -i 允许你对容器内的标准输入 (STDIN) 进行交互
    -t 在新容器内指定一个伪终端或终端
    -d 在后台运行容器 返回容器ID
    -h 指定容器的主机名 如果不指定 会随机生成一个
    --rm 容器停止后删除掉 默认不会删除
    --name 指定容器的名称
    --network 指定容器的网络连接方式 默认为NAT
    --ip 指定容器的IP地址
    -p <宿主端口>:<容器端口> 端口映射 将容器指定端口映射到宿主机的指定端口 可以用多个-p选项指定多个端口映射
    -p 80 将容器的80端口映射到宿主机的随机端口
    -P 将容器声明的所有端口映射到宿主机的随机端口
    -v <宿主目录>:<容器目录> 将宿主机的指定目录映射到容器的指定目录
    --privileged 需要修改某些特定的参数需要加上此选项 正常运行一个容器不建议开放这个权限

    5 容器基本操作命令

    docker create [选项] 镜像 创建一个容器但不运行 选项基本和run命令相同
    docker ps [-a] 查看运行的容器 [-a 所有容器]
    docker ps -a -q 查看所有容器的ID
    docker top 容器 查看容器的进程信息
    docker stop|start|restart|kill 容器 启停容器
    docker pause|unpause 容器 暂停|恢复容器
    docker rm 容器 删除容器(-f 运作中强行删除)
    docker rm `docker ps -a -q` 删除所有容器
    docker logs 容器 查看容器日志
    docker cp container:src_file dst_path 将容器中的文件复制到宿主机上
    docker cp src_file container:dst_path 将宿主机上的文件复制到容器中
    docker inspect [选项] 容器 以json格式显示出容器的具体信息
       
    连接容器  
    docker exec -it centos /bin/bash 可用exit命令退出 不影响容器
    docker attach centos 通过attach连接容器 使用exit退出后容器会关闭 当多个窗口同时使用该命令进入该容器时所有的窗口都会同步显示
      如果有一个窗口阻塞了 那么其他窗口也无法再进行操作 
      若不想退出后停止容器 可通过快捷键ctrl+pq退出
       
    docker commit -m "描述信息" 容器 镜像名[:tag] 永久保存 将容器打包成镜像

    6 导入导出

     1)基于镜像

      导出  docker save centos:latest > /bak/docker-centos_latest.bak

      导入  docker load < /bak/docker-centos_latest.bak

     2)基于容器

      导出  docker export centos7 > /bak/docker-centos7.bak

      导入  docker import /bak/centos7.bak centos7      #导入了镜像

  • 相关阅读:
    Redis命令行之Hash
    Redis命令行之String
    Redis配置
    访问者模式【行为模式】
    状态模式【行为模式】
    责任链模式【行为模式】
    观察者模式【行为模式】
    策略模式【行为模式】
    模板方法模式【行为模式】
    组合模式【结构模式】
  • 原文地址:https://www.cnblogs.com/Xinenhui/p/14075332.html
Copyright © 2011-2022 走看看