什么是docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

Docker的应用场景

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

    Docker 的优点

    Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

    使用官方安装脚本自动安装

    官方脚本
    1. curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    国内daocloud 脚本
    1. curl -sSL https://get.daocloud.io/docker | sh

    手动安装

    在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

    安装所需的软件包

    yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
    1. yum install -y yum-utils device-mapper-persistent-data lvm2
    image.png

    设置 Docker 仓库

    官方仓库,国内使用比较慢
    1. yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    阿里云镜像仓库
    1. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    清华大学源镜像仓库
    1. yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
    image.png

    安装 Docker Engine-Community

    我这边是学习环境,使用最新版本没什么问题,实际生产需要使用稳定版本,需要安装指定版本
    1. yum install docker-ce docker-ce-cli containerd.io
    image.png ```bash Total download size: 102 M Installed size: 420 M Is this ok [y/d/N]: Y

如果提示您接受 GPG 密钥,请选是

Retrieving key from https://mirrors.aliyun.com/docker-ce/linux/centos/gpg Importing GPG key xxxxxxxxxxx: Userid : “Docker Release (CE rpm) docker@docker.com“ Fingerprint: —— —— —— —— —— —— —— From : https://mirrors.aliyun.com/docker-ce/linux/centos/gpg Is this ok [y/N]: Y Running transaction check Running transaction test Transaction test succeeded

  1. Docker 安装完已经创建好 docker 用户组,但该用户组下没有用户。<br />**安装特定版本的 Docker Engine-Community,查看可用的版本列表**
  2. ```bash
  3. yum list docker-ce --showduplicates | sort -r
  4. yum list docker-ce-cli --showduplicates | sort -r

image.png

CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。

容器状态

  • created(已创建)
  • restarting(重启中)
  • running 或 Up(运行中)
  • removing(迁移中)
  • paused(暂停)
  • exited(停止)
  • dead(死亡)

启动docker服务

systemctl start docker

docker常用指令

  1. docker ps -a ## 列举所有镜像
  2. docker exec -it xxx ## 进入容器控制台
  3. docker run xxz ## 运行一个镜像
  4. docker rm xxx ## 删除一个镜像
  5. docker logs xxx ## 容器日志
  6. docker stop xxx ## 停止容器
  7. docker pull xxx ## 拉镜像

使用 Dockerfile 定制镜像