一、思考

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

LNMP(Linux + Nginx + MySQL + PHP)

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

自学学完docker和k8s然后该做什么_Docker

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

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

三、docker 介绍

1.什么是容器?

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

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

自学学完docker和k8s然后该做什么_docker_02

docker 设计思想来自于集装箱

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

自学学完docker和k8s然后该做什么_docker_03

2.什么是 docker?

  • 是一个让开发、测试、部署、运行应用程序更简单的工具
  • 充分利用系统资源
  • 大大提高工作效率

自学学完docker和k8s然后该做什么_Docker_04

3.为什么使用 docker?

  • 开发:开发环境的配置
  • 测试:测试环境的部署
  • 运维:运维环境的搭建
  • 线上部署:需要非常稳定的线上环境
  • 全球知名机构,对各中大型公司使用 docker 的分析调查

自学学完docker和k8s然后该做什么_运维_05

4.docker vs vmware(or virtualbox)?

自学学完docker和k8s然后该做什么_Docker_06

自学学完docker和k8s然后该做什么_centos_07

自学学完docker和k8s然后该做什么_运维_08

5.docker 架构

自学学完docker和k8s然后该做什么_容器_09

  • Docker Engine(C/S 架构) a server process(服务端) a client cli(客户端) a rest API interface 服务端与客户端使用 RESTFul API 接口进行交互 492 x 385
  • 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 个小时

五、基本操作

自学学完docker和k8s然后该做什么_运维_10

1.docker image

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

自学学完docker和k8s然后该做什么_docker_11

  • 列出镜像 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

自学学完docker和k8s然后该做什么_docker_12

  • 运行容器 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和容器名