Docker的安装与使用(CentOS 7)

384 阅读3分钟

Docker

版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装,请卸载它们以及相关的依赖项

Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。

社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。

社区版按照stable和edge两种方式发布,每个季度更新stable版本。

官方文档:docs.docker.com/engine/inst…

简介

一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验

作用

解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术

安装前提

  • CentOS7:要求64为系统,同时内核版本3.10及以上
  • CentOS6.5(64 bit)及以上版本:要求64为系统,同时内核版本2.6.32-431及更高版本

组成

  • 镜像:镜像用来创建Docker容器,一个镜像可以创建多个Docker容器
  • 容器:容器是镜像创建的实例,是独立运行的一个或者一组应用。可以被启动,开始,停止,删除。每个容器都是相互隔离的,保证安全的平台
  • 仓库:集中存放镜像文件的场所。

安装步骤

  • 检查linux内核版本,必须是3.10及以上

    uname -r
    

    如果不是,需要更新

    yum update
    
  • 安装所需的软件包

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
  • 设置稳定的仓库

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  • 安装最新版本的Docker CE和containerd

    yum install docker-ce docker-ce-cli containerd.io
    
  • 启动docker

    systemctl start docker
    
    查看版本
    docker -v 
    
  • 开机启动docker

    systemctl enable docker
    
  • 停止docker

    systemctl stop docker
    

修改镜像源

国内从DockerHub拉取镜像有时会比较慢,此时可以配置镜像加速器。

Docker官网提供的中国镜像库: :registry.docker-cn.com

CentOS7

对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

{
    "registry-mirrors" : [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://cr.console.aliyun.com/"
  ]
}

之后重新启动服务:

 sudo systemctl restart docker.service

帮助命令

  • 查看版本

    docker --version
    
  • 显示 Docker 系统信息,包括镜像和容器数

    docker info
    
  • 查看docker help信息

    docker --help	
    

镜像操作

  • 检索
    docker search 关键字
    eg: docker search mysql
    
  • 拉取
    docker pull 镜像名:tag
    :tag是可选的,tag表示标签,多为软件的版本,默认是latest
    tag可在DockerHub官网中查看
    

  • 查看镜像

    docker images
    

    查看本地下载的所有镜像

  • 删除镜像

    docker rmi image-id
    

    删除本地指定的镜像

容器操作

  • 运行镜像

    docker run --name container-name -d image-name
     --name: 自定义容器的名字(可选)
     -d:后台运行
     image-name:指定的镜像模板
    

    不同镜像的启动命令不同,具体命令参考Docker官网中镜像中的描述

  • 查看运行的容器

     docker ps
    
  • 停止容器

    docker stop container-id
    
  • 查询当前容器: docker container ls -all

  • 查看所有的容器(包括所有运行和未运行的)

    docker ps -a
    
  • 启动容器

    docker start container-id
    
  • 删除容器(必须是停止状态)

    docker rm container-id
    
  • 查看防火墙是否关闭

    service firewalld status
    
  • 查看防火墙状态

    firewall-cmd --state
    
  • 禁止防火墙开机启动

    systemctl disable firewalld.service 
    
  • 关闭防火墙

    systemctl stop firewalld.service
    
  • 查看容器日志

    docker logs container-name/container-id