一、思考
1.想搭建一个网站,如何做?
LNMP(Linux + Nginx + MySQL + PHP)
- 安装各种软件以及相关依赖环境
- 参数配置
- 写程序
- 功能测试
- 部署
二.网站想换位置,迁移至阿里云?
- 上述步骤需要重来一篇
- 数据迁移非常麻烦
- 环境不同步,配置繁琐
三、docker 介绍
1.什么是容器?
- 来装东西
- 杯子,可以装水
- 饭盒,可以装饭菜
- 酒瓶,可以装酒
docker,也是容器,它是来 Web 应用的
docker 设计思想来自于集装箱
- 进行标准化
- 隔离(不同的应用之间,往往需要隔离)
- 如果把云计算当作大货柜,那么 docker 就相当如集装箱
2.什么是 docker?
- 是一个让开发、测试、部署、运行应用程序更简单的工具
- 充分利用系统资源
- 大大提高工作效率
3.为什么使用 docker?
- 开发:开发环境的配置
- 测试:测试环境的部署
- 运维:运维环境的搭建
- 线上部署:需要非常稳定的线上环境
- 全球知名机构,对各中大型公司使用 docker 的分析调查
4.docker vs vmware(or virtualbox)?
5.docker 架构
- 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 个小时
五、基本操作
1.docker image
# 先运行hello-world和centos容器 docker run hello-world docker run -it centos /bin/bash
- 列出镜像 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
- 运行容器 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和容器名