docker学习笔记 ---每特教育
如何在centos7上安装docker
docker官网:
安装:
centos系统的内核版本在3.10以上
1.查看内核当前版本
uname -r
2.登录后确保yum包更新到最新
yum -y update
linux利用 top 查看cpu情况,可以使用q退出
3.卸载旧版本(如果有的话)
yum remove docker docker-common docker-selinux docker-engine
4.安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
5.设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
改为国内镜像:
yum-config-manager \
> --add-repo \
> https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6.查看所有仓库的docker版本,并选择特定版本安装
yum list docker-ce -- showduplicates | sort -r
7.安装docker
sudo yum install -y docker-ce
8.启动并加入开机自启动
systemctl start docker systemctl enable docker
9.验证成功(有client和service两部分)
docker version
配置加速镜像
Docker pull 从远程docker 官方仓库下载 镜像,到本地,在使用容器运行该镜像。
注意的是:docker官方镜像仓库地址部署在国外,下载镜像可能比较慢,建议配置国内加速镜像
Docker加载镜像配置
https://hub.docker.com/search?q=redis&type=image ---在国外访问可能比较慢
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
科大镜像:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/
阿里云:https://.mirror.aliyuncs.com
七牛云加速器:https://reg-mirror.qiniu.com
当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
阿里云镜像获取地址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台,登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:
我的加速镜像为:https://z4qyv576.mirror.aliyuncs.com
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://z4qyv576.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
使用 docker info 命令
docker info
测试:(速度超级快了)
docker pull tomcat:6
docker镜像原理
镜像是什么
基于docker安装tomcat服务器 是否需要配置jdk环境变量呢?
docker安装tomcat:8 --jdk8 配置环境变量
docker安装tomcat:9 --jdk9 配置环境变量
如何封装配置环境依赖的呢?
Dockerfile---文件
Tomcat 100mb
1.依赖于我们JDK 200mb
2.Linux服务器centos 200mb
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境的开发软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
镜像文件的组成通过 Union fs
运行我们tomcat镜像文件
tomcat镜像文件
1.依赖于我们JDK
2.Linux服务器
为什么运行tomcat镜像文件,不需要配置jdk环境变量。
1.tomcat镜像文件包含jdk依赖镜像 tomcat8-----jdk8镜像文件
2.底层dockerfile -----描述配置jdk环境
镜像加载的原理
Linux文件系统由bootfs和rootfs两部分组成
bootfs:包含bootloader(引导加载程序)和 kernel(内核)
rootfs: root文件系统,包含的就是典型 Linux 系统中的/dev,/proc,/bin,/etc等标准目录和文件
不同的linux发行版,bootfs基本一样,而rootfs不同,如ubuntu,centos等
Docker镜像底层实际上是有多个不同的联合文件系统组成的
最底层:bootfs,并使用宿主机的bootfs-复用
第二层:root文件系统rootfs,称为base image
Union fs
然后再往上可以叠加其他的镜像文件
统一文件系统(Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,隐藏多层的存在,我们看来只是存在一个文件系统。
所以当我们安装的tomcat镜像大小是600多MB 是因为里面还包含了jdk和centos的镜像
而centos镜像复用了宿主机的bootfs 下载的只有rootfs 所以小很多
所以tomcat>jdk(父镜像)->centos> 所以整个向外暴露就是600MB
镜像只读 当从一个镜像启动容器时, 所以docker会在镜像上面加载一个可读可写的文件系统作为容器运行。
https://hub.docker.com/_/tomcat