docker

一、思考

1.想搭建一个网站,如何做?

LNMP(Linux + Nginx + MySQL + PHP)

  • 安装各种软件以及相关依赖环境
  • 参数配置
  • 写程序
  • 功能测试
  • 部署


    image.png

2.网站想换位置,迁移至阿里云?

  • 上述步骤需要重来一篇
  • 数据迁移非常麻烦
  • 环境不同步,配置繁琐

三、docker 介绍

1.什么是容器?

  • 来装东西
  • 杯子,可以装水
  • 饭盒,可以装饭菜
  • 酒瓶,可以装酒

docker,也是容器,它是来 Web 应用的

image.png

docker 设计思想来自于集装箱

  • 进行标准化
  • 隔离(不同的应用之间,往往需要隔离)
  • 如果把云计算当作大货柜,那么 docker 就相当如集装箱
image.png

2.什么是 docker?

  • 是一个让开发、测试、部署、运行应用程序更简单的工具

  • 充分利用系统资源

  • 大大提高工作效率

image.png

3.为什么使用 docker?

  • 开发:开发环境的配置

  • 测试:测试环境的部署

  • 运维:运维环境的搭建

  • 线上部署:需要非常稳定的线上环境

  • 全球知名机构,对各中大型公司使用 docker 的分析调查

image.png

4.docker vs vmware(or virtualbox)?

image.png
image.png
image.png

5.docker 架构

image.png
  • Docker Engine(C/S 架构)

    • a server process(服务端)
    • a client cli(客户端)
    • a rest API interface
      • 服务端与客户端使用 RESTFul API 接口进行交互
    image.png
  • Docker objects

Docker:假如类比为汽车
Dockerfile:相当如汽车的蓝图(图纸),用来创建image镜像
Docker image:类似于样版车,不是真正的车,不能够驾驶
Docker container:相当如在样版车上加入各种零部件进行组装,并且加满油之后,汽车就能够正常驾驶了
Docker Registry:类似于汽车4s店,可以免费获取docker image
Docker volume: 类似与油箱,汽车报废了,但油箱中的油还能使用
Docker Swarm:相当于,交通枢纽,控制多辆汽车的运行

  • Docker Hub(Docker Registry)

四、安装 docker

1.在 Windows 中安装 docker

官方安装教程:https://docs.docker.com/docker-for-windows/

2.在 Linux 中安装 docker

在 CentOS 中安装 docker:https://docs.docker.com/install/linux/docker-ce/centos/

在 Ubuntu 中安装 docker:https://docs.docker.com/install/linux/docker-ce/ubuntu/

3.在虚拟机中安装 docker

在 Windows 中安装 VirtualBox 虚拟机,在虚拟机中安装 CentOS,然后在 CentOS 中安装 docker

  • 首先安装最新版的 VirtualBox
  • 安装 Vagrant
  • 在 Vagrant 中下载并启动 CentOS7

4.在线练习 docker

katacoda 网站:https://www.katacoda.com/ 每 10 分钟一个小练习

Play with Docker 网站:https://labs.play-with-docker.com/ 每次能使用 4 个小时

五、基本操作

image.png

1.docker image

# 先运行hello-world和centos容器 docker run hello-world docker run -it centos /bin/bash </pre>

1.gif
  • 列出镜像

    docker images

  • 下载镜像

    • docker pull 镜像名(会从 docker hub 官方仓库中下载到本地)
    • docker run 镜像名(如果本地没有此镜像,将会先从 docker hub 官方仓库中拉去到本地,然后运行
  • 删除镜像

    • sudo docker rmi 镜像 id 或者镜像名

      docker rmi fce289e99eb9 或者 docker rmi hello-world

  • 查看镜像详细信息

    docker inspect 镜像名或者镜像id

2.docker container

2.gif
  • 运行容器

    sudo docker run -it centos /bin/bash

  • 列出容器

    • 列出正在运行的容器 sudo docker ps
    • 列出所有容器(包括关闭的) sudo docker ps -a
  • 查看容器的进程和资源利用情况

    • sudo docker top 容器id和容器名
    • sudo docker stats 容器id和容器名
  • 停止/开启容器

    • sudo docker stop 容器id和容器名
    • sudo docker start 容器id和容器名
  • 暂停/启动容器

    • sudo docker pαuse 容器id和容器名
    • sudo docker unpαuse 容器id和容器名
  • 删除容器

    • sudo docker rm 容器id和容器名
    • sudo docker rm -f 容器id和容器名
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。