背景
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后/发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
场景
-
Web 应用的自动化打包和发布。
-
在服务型环境中部署和调整数据库或其他的后台应用。
架构
- Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
- Docker 容器通过 Docker 镜像来创建。
- 容器与镜像的关系类似于面向对象编程中的对象与类。
DOCKER容器 | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
Docker 镜像(Images) | Docker 镜像是用于创建 Docker 容器的模板。 |
---|---|
Docker 容器(Container) | 容器是独立运行的一个或一组应用。 |
Docker 客户端(Client) | Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。 |
Docker 主机(Host) | 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 |
Docker 仓库(Registry) | Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。 |
Docker Machine | Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
基本使用
1. 我们可以直接输入docker,查看docker客户端所有命令选项。
2. 也可以直接输入 docker command –help 查看指定命令基本使用
3. 运行一个web应用
docker pull training/webapp #载入镜像
docker run -d -P training/webapp python app.py
参数说明
-d:让容器在后台运行
-P: 将容器后台使用的网络端口映射到我们主机上
4.查看容器
runoob@runoob:~# docker ps
CONTAINER ID IMAGE COMMAND ... PORTS
d3d5e39ed9d3 training/webapp "python app.py" ... 0.0.0.0:32769->5000/tcp
容器使用
1. 停止容器
docker stop [CONTAINER ID | NAMES]
2. 重启容器
docker restart [CONTAINER ID | NAMES]
3. 启动容器
docker start [CONTAINER ID | NAMES]
4.移除容器
docker rm [CONTAINER ID | NAMES]
镜像使用
知识点:
- 管理本地的Docker 主机镜像
- 创建镜像
1. 列出镜像列表
docker images
2. 获取一个新镜像
docker pull centos:6
3. 查找镜像
docker search centos
4. 创建镜像
- 从已经创建容器中更新镜像,并且提交这个镜像. - 使用 Dockerfile 指令来创建一个新镜像5. 更新镜像
更新镜像之前我们需要使用镜像创建一个容器docker run -it centos:7 /bin/bash
运行任意指令修改该容器环境
窗口输入exit退出容器环境
我们通过commit命令来提交副本
root@123:~$ docker commit -m="has update" -a="authorName" e218edb10161 username/centos:v2
-m:备注信息
e218edb10161:容器id
username: docker hub 账户名
centos:仓储名
v2:tag名
以下部分未完待续…..
6. 构建镜像
7. push镜像到远程仓库
8. 镜像节点加速
网站 | 地址 |
---|---|
docker官方中国区 | https://registry.docker-cn.com |
网易 | http://hub-mirror.c.163.com |
ustc | https://docker.mirrors.ustc.edu.cn |
阿里 | 需要阿里云开发者账号:在控制台->容器与镜像服务->镜像中心->镜像加速器 |
推荐使用阿里的节点