docker
一、docker简介
1.初识docker
Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。
Docker是管理容器的引擎。 Docker为应用打包、部署平台,而非单纯的虚拟化技术。
2.VM VS Container
3.docker容器的优势
对于开发人员:Build once、Run anywhere。
对于运维人员:Configure once、Run anything。
4.容器是如何工作的
客户端——>Docker引擎——>仓库
二、docker的安装
1.配置软件源
https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.6b971b11yx1Ivv
修改软件docker软件源,只保留上一步中下载的第一个软件源路径,并取消校验。
这样配置的docker软件源没有解决依赖性,因此还需要进一步配置centos源20
wget https://mirrors.aliyun.com/repo/Centos-7.repo
对Centos-7.repo软件源做如下更改(其余部分删除)
2.安装docker-ce
yum install -y docker-ce
3.启动、设置开机自启并查看docker信息
systemctl start docker
systemctl enable docker
docker info
4.查询仓库的镜像并拉取(下载)
docker的所有数据全部保存在目录</var/lib/docker/>中。
5.通过镜像来运行容器
docker run -d --name demo -p 80:80 yakexi007/game2048 #运行镜像
-d:打入后台; --name:项目名取为demo(加上名字后方便操作,不加时会随机创建一个名称);
-p:端口映射(宿主机的80端口映射到docker的80端口)
docker ps #查看当前正在运行的容器
三、docker镜像
1.镜像的分层结构
共享宿主机的kernel
base镜像提供的是最小的Linux发行版
同一docker主机支持运行多种Linux发行版
采用分层结构的最大好处是:共享资源
Copy-on-Write 可写容器层
容器层以下所有镜像层都是只读的
docker从上往下依次查找文件
容器层保存镜像变化的部分,并不会对镜像本身进行任何修改
一个镜像最多127层
2.镜像的构建
docker commit 构建新镜像三部曲
运行容器
修改容器
将容器保存为新的镜像
镜像(Mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。
docker pull busybox 拉取镜像
docker images 查看当前拉取到的镜像
docker info 显示 Docker 系统信息,包括镜像和容器数。
(1)先拉取一个新的镜像