什么是docker

Docker 是一个开放源代码软件项目,让应用程序布署在软件容器下的工作可以自动化进行,借此在 Linux 操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。

特征:

  • 简化环境管理
  • 虚拟化更加轻量级
  • 程序可移植

docker 应用场景

  1. 加速本地开发
  2. 自动打包和部署应用
  3. 创建轻量、私有的PaaS环境
  4. 自动化测试和持续集成/部署
  5. 部署并扩展Web应用、数据库和后端服务器
  6. 创建安全沙盒
  7. 轻量级的桌面虚拟化

docker安装

  • windows/mac安装

    • 直接在官网下载docker for desktop安装,一直下一步即可
  • linux安装 (centos)

    # 首先安装 Docker
    yum -y install docker
    
    # 然后启动 Docker 服务
    service docker start
    
    # 测试安装是否成功
    docker -v
    

docker基本使用

  • 查看容器版本

    docker -v
    
  • 查看所有容器

    docker ps -a
    
  • 查看运行中的容器

    docker ps
    

    在查看容器时,涉及到几个查看参数,含义分别如下:

    • CONTAINER ID: CONTAINER ID是指容器的id,是一个唯一标识符,这是一个64位的十六进制整数,在不会混淆的情况下可以只采用id的前几位进行标识一个容器。
    • IMAGE: IMAGE表示创建容器时使用的镜像。
    • COMMAND: COMMAND表示容器最后运行的命令。
    • CREATED: 创建容器的时间。
    • STATUS: 容器的状态,这里可能显示一个容器启动时间,也能显示容器关闭时间。具体显示哪个要看容器当前的状态。
    • PORTS: 容器对外开放的端口。
    • NAMES: 容器的名字,如果不设置,会有一个默认的名字。
  • 查看最新创建的容器

    docker ps -l
    

  • 拉取容器镜像

    docker pull nginx:alpine
    

    nginx:alpine是容器镜像,镜像可以从dockerhub的仓库找到

  • 拉取镜像并启动

    docker run --name nginx1 -d -p 8080:80 nginx
    

    参数解析:

    • --name 启动后的容器名称
    • -d 后台运行
    • -p 容器端口映射
    • nginx 镜像名称,这里没有指定tag,默认回拉取latest的镜像
  • 创建容器

    docker create --name nginx nginx:alpine
    
  • 启动容器

    docker start nginx
    

    通过docker create创建的容器,是没有启动的,需要通过docker start [容器名称]启动容器

  • 重启容器

    docker restart nginx
    
  • 停止容器

    docker stop nginx
    
  • 执行容器命令

    docker exec -it nginx [容器命令]
    

    如:

    docker exec -it nginx sh
    

    通过执行nginxsh命令,达到进入容器,形成交互容器。

  • 删除容器

    docker rm [容器名]
    或
    docker rm [容器id]
    
  • 查看本地镜像

    docker images
    
  • 删除镜像

    docker rmi [镜像id]
    
  • 删除所有容器

    docker rm --force $(docker ps -aq)
    
  • 删除所有镜像

    docker rmi --force $(docker images -aq)
    
  • 删除已退出的孤立的容器

    docker container prune
    

    总结

    本文主要向大家介绍了 Docker 容器的基本操作,更多高级操作我们将在下篇文章中介绍。