Docker(应用容器引擎)

本文详细介绍了Docker的基础知识,包括Docker的安装、架构、镜像加速器配置、常用命令、数据卷、Dockerfile和Docker Compose的使用。此外,还涵盖了Docker应用部署,如mysql、tomcat、nginx和redis,并探讨了Docker与虚拟机的区别。
摘要由CSDN通过智能技术生成

1. Docker介绍

1.1 Docker概述

  • Docker是一个开源的应用容器引擎
  • 诞生于2013年初,基于Go语言实现,dotCloud公司出品(后改名为Docket Inc)
  • Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上
  • 容器是完全使用沙箱机制,相互隔离
  • 容器性能开销极低
  • Docker从17.03版本之后分为CE(Community Edition:社区版)和EE(Enterprise Edition:企业版)

1.2 安装Docker

  • Docker可以运行在MAC、Windows、CentOS、UBUNTU等操作系统上,这里我们基于CentOS7安装
  • 官网:https://www.docker.com
  • 安装步骤
    # 1、yum 包更新到最新 
    yum update
    # 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 
    yum install -y yum-utils device-mapper-persistent-data lvm2
    # 3、 设置yum源
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    # 4、 安装docker,出现输入的界面都按 y 
    yum install -y docker-ce
    # 5、 查看docker版本,验证是否验证成功
    docker -v
    

1.3 Docker架构

在这里插入图片描述

  • 镜像(Image)
    • Docker镜像(Image),就相当于是一个root文件系统,比如官方镜像
  • 容器(Container)
    • 镜像(Image)和容器(Contain er)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等
  • 仓库(Repository)
    • 仓库可以看成一个代码控制中心,用来保存镜像

2. 配置镜像加速器

  • 默认情况下,从docker hub上下载docker镜像太慢了,所以我们会配置镜像加速器
  • USTC:中科大镜像加速器(https://docker.mirrors.ustc.edu.cn)
  • 这里我们使用阿里云镜像
  • 步骤
    • 登录阿里云(https://www.aliyun.com/
    • 选择容器镜像服务
    • 选择镜像加速器
      在这里插入图片描述
    • 配置文件 /etc/docker/daemon.json
    • 查看文件 /etc/docker/daemon.json
      • cat /etc/docker/daemon.json
        在这里插入图片描述

3. Docker命令

3.1 服务相关命令

  • 启动docker服务
    • systemctl start docker
  • 停止docker服务
    • systemctl stop docker
  • 重启docker服务
    • systemctl restart docker
  • 查看docker服务状态
    • systemctl status docker
  • 开机启动docker服务
    • systemctl enable docker

3.2 镜像相关命令

  • 查看镜像
    # 查看本地所有的镜像
    docker images
    # 查看所用镜像的id
    docker images -q
    
    • REPOSITORY:镜像名称
    • TAG:镜像标签
    • IMAGE ID:镜像ID
    • CREATED:镜像的创建日期
    • SIZE:镜像大小
  • 搜索镜像
    # 从网络中查找需要的镜像
    docker search 镜像名称
    
    • NAME:镜像名称
    • DESCRIPTION:镜像描述
    • STARS:用户评价,反映一个镜像的受欢迎程度
    • OFFICIAL:是否官方
    • AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程构建的
  • 拉取镜像
    docker pull 镜像名称
    
    • 从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定则是最新的版本。 如果不知道镜像版本,可以去docker hub 搜索对应镜像查看。
  • 删除镜像
    docker rmi 镜像id # 删除指定本地镜像
    docker rmi `docker images -q` # 删除所有本地镜像
    

3.3 容器相关命令

  • 查看容器
    docker ps # 查看正在运行的容器
    docker ps –a # 查看所有容器,包括正在运行和停止的容器
    
  • 创建并启动容器
    docker run 参数
    
    • 参数说明
      • -i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
      • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
      • -d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。
      • -it 创建的容器一般称为交互式容器,-id 创建的容器一般称为守护式容器
      • –name:为创建的容器命名。
    • 交互式容器
      • 以交互式方式来创建并启动容器,启动完成后,直接进入当前容器,使用exit命令退出容器,需要注意的是以此种方式启动容器,如果退出容器,则容器会进入停止状态
      # 先拉取一个镜像;这一步不是每次启动容器都要做的,而是因为前面我们删除了镜像,无镜像可用所以才再拉取一个 
      docker pull centos:7 
      
      #创建并启动名称为 mycentos7 的交互式容器;下面指令中的镜像名称 centos:7 也可以使用镜像id 
      docker run -it 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值