文章目录
-
- 一、简介
-
- 1、虚拟化
- 2、Docker组件
-
- 2.1 Docker服务器与客户端
- 2.2 Docker镜像与容器
- 2.3 Registry(注册中?)
- 3、小结
- 4、Docker和虚拟机的区别
- 二、安装Docker
-
- 1、安装docker
- 2、设置`ustc`的镜像
- 3、docker的启动与停止
- 三、常用命令
-
- 1、镜像相关命令
-
- 1.1 查看镜像
- 1.2 搜索镜像
- 1.3 拉取镜像
- 1.4 删除镜像
- 2、容器相关命令
-
- 2.1 容器内容查看
- 2.2 创建与启动容器
- 2.3 启动和停止容器
- 2.4 文件拷贝
- 2.5 查看容器IP地址
- 2.6 删除容器
- 四、常见应用部署
-
- 1、MySQL部署
- 2、Tomcat部署
- 3、Nginx部署
- 4、Redis部署
- 五、数据备份和迁移
-
- 1、容器持久化为镜像
- 2、镜像备份
- 3、加载镜像文件
- 六、自定义镜像部署
-
- 1、资源准备
- 2、发布镜像
- 3、测试
一、简介
1、虚拟化
Docker 是?个开源项?,诞?于 2013 年初,最初是 dotCloud 公司内部的?个业余项?。它基于 Google 公司推出的 Go 语?实现。 项?后来加?了 Linux 基?会,遵从了 Apache 2.0 协议,项?代码在 GitHub 上进?维护。
2.2 Docker镜像与容器
Docker中有几个重要的概念:
镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。
容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器进程做隔离,对外不可见。
??镜像是构建Docker的基?。?户基于镜像来运???的容器。镜像也是Docker?命周期中的“构建”部分。镜像是基于联合?件系统的?种层式结构,由?系列指令?步?步构建出来
??Docker可以帮助你构建和部署容器,你只需要把??的应?程序或者服务打包放进容器即可。容器是基于镜像启动起来的,容器中可以运??个或多个进程。我们可以认为,镜像是Docker?命周期中的构建或者打包阶段,?容器则是启动或者执?阶段。 容器基于镜像启动,?旦容器启动完成后,我们就可以登录到容器中安装??需要的软件或者服务。
??Docker也不关?你要把容器运到何?:我们可以在??的笔记本中构建容器,上传到Registry,然后下载到?个物理的或者虚拟的服务器来测试,在把容器部署到具体的主机中。像标准集装箱?样,Docker容器?便替换,可以叠加,易于分发,并且尽量通?。
2.3 Registry(注册中?)
??Docker?Registry来保存?户构建的镜像。Registry分为公共和私有两种。Docker公司运营公共的叫做。?户可以在Docker Hub注册账 ,分享并保存??的镜像(说明:在Docker Hub下载镜像巨慢,可以??构建私有的Registry)。
https://hub.docker.com/
开源应用程序非常多,打包这些应用往往是重复的劳动。为了避免这些重复劳动,人们就会将自己打包的应用镜像,例如Redis、MySQL镜像放到 络上,共享使用,就像GitHub的代码共享一样。
-
DockerHub:DockerHub是一个官方的Docker镜像的托管平台。这样的平台称为Docker Registry。
-
国内也有类似于DockerHub 的公开服务,比如 易云镜像服务、阿里云镜像库等。
我们一方面可以将自己的镜像共享到DockerHub,另一方面也可以从DockerHub拉取镜像:
对比来看:
1、镜像相关命令
1.1 查看镜像

- REPOSITORY:镜像名称。
- TAG:镜像标签。
- IMAGE ID:镜像ID。
- CREATED: 镜像的创建?期(不是获取该镜像的?期)。
- SIZE: 镜像??。
这些镜像都是存储在Docker宿主机的/var/lib/docker?录下
1.2 搜索镜像
从 路中搜索镜像
-
NAME: 仓库名称
-
DESCRIPTION: 镜像描述
-
STARS: ?户评价,反应?个镜像的受欢迎程度
-
OFFICIAL: 是否官?
-
AUTOMATED: ?动构建,表示该镜像由Docker Hub?动构建流程创建的
1.3 拉取镜像
从中央仓库下载镜像到本地
1.4 删除镜像
根据镜像ID删除镜像
删除所有镜像
2、容器相关命令
2.1 容器内容查看
查看正在运行容器
查看所有容器
查看最后一次运行的容器
查看停止的容器
2.2 创建与启动容器
创建容器命令:
-
-i: 表示运?容器
-
-t: 表示容器启动后会进?其命令?。加?这两个参数后,容器创建就能登录进去。即分配?个伪终端。
-
–name: 为创建的容器命名。
-
-v: 表示?录映射关系(前者是宿主机?录,后者是映射到宿主机上的?录),可以使?多个-v做多个?录或?件映射。注意:最好做?录映射,在宿主机上做修改,然后共享到容器上。
-
-d: 在run后?加上-d参数,则会创建?个守护式容器在后台运?(这样创建容器后不会?动登录容器,如果只加-i –
-
-p: 表示端?映射,前者是宿主机端?,后者是容器内的映射端?。可以使?多个-p做多个端?映射t两个参数,创建后就会?动进去容器)。
1. 交互式创建容器
退出容器
2. 守护式方式创建容器
登录守护式容器方式
2.3 启动和停止容器
启动容器
停止容器
2.4 文件拷贝
文件拷贝到容器中
容器中文件拷贝出来
2.5 查看容器IP地址
直接输出ID
2.6 删除容器
四、常见应用部署
1、MySQL部署
拉取MySQL镜像
创建容器
- :代表端?映射,格式为 宿主机映射端?:容器运?端?
- : 代表添加环境变量 是root?户的登陆密码