一 docker整体架构
docker镜像(image)
docker hub类似于maven远程仓库地址:
https://hub.docker.com/ 该地址用于搜索并下载地址。
镜像下载命令:
docker pull imagename 比如:docker pull tomcat ,但是我们一般会去下载具体的版本,如何做呢?
docker pull image:tags 比如:docker pull tomcat:9.0.39-jdk15
我的镜像加速地址:
https://d7fzzncv.mirror.aliyuncs.com
sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service
sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=https://d7fzzncv.mirror.aliyuncs.com|g" /etc/systemd/system/docker.service
sudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=https://d7fzzncv.mirror.aliyuncs.com|g" /etc/systemd/system/docker.service
sudo systemctl daemon-reload
sudo service docker restart
docker login --username=ljlyq https://d7fzzncv.mirror.aliyuncs.com
镜像大小不一致的原因?
docker基本命令
拉取镜像
docker pull nginx:1.19.3-alpine
备份镜像
docker save nginx:1.19.3-alpin -o nginx:1.19.3-alpine.tar
导入镜像
docker load -i nginx:1.19.3-alpine.tar
运行镜像
docker run -itd --name nginx -p 80:80 nginx:1.19.3-alpine
查看容器的启动状态
docker logs -f nginx
进入docker容器
docker exec -it nginx /bin/bash 或者 sh 或者bash
查看/etc/nginx下是否有nginx.conf文件:
cd /etc/nginx
ls
cat nginx.conf
查看/usr/share/nginx/html/下的index文件
cd /usr/share/nginx/html/
ls
cat index.html
可以修改index.html文件,浏览器访问nginx后,首页是否发生改变。
查看基础镜像版本
cat /etc/issue
查看容器的时间
data
docker核心原理
虚拟化的概念
虚拟化是云计算的基础,从表面看虚拟机是独立的服务器,但是实际上他们共享物理服务器的cpu、内存、硬件、网卡等资源。通过模拟计算机硬件,来实现在同一台计算机上面同时运行不同的操作系统的技术。openstak、kvm都是使用的虚拟化技术。
物理机,通常被称为宿主机(host),
虚拟机,通常被称为客户机(guset)。
谁来完成物理机资源的虚拟化工作呢?
答案是:hypervisor ,hypervisor也加vmm(virtual machine montior ,虚拟机监视器)。他不是一款具体的软件,而是一类软件的统称。hypervisor是一种运行在基础物理服务器上面的软件层,可以虚拟化硬件资源,例如:cpu、内存、网卡、声卡等。然后在虚拟化出来的资源上安装操作系统,即:虚拟机。
hypervisor分为2类:
第一类是:hypervisor直接运行在物理机上,虚拟机运行在hypersior上。
第二类是:在物理机上安装正常的操作系统,如linux、windows等,然后正常的操作系统上面运行hypervisor用以生成和管理虚拟机。eg:vmware、kvm等。
容器的概念及虚拟化的分类
cpu虚拟化
网络虚拟化
服务器虚拟化
存储虚拟化
应用虚拟化
docker网络
docker创建后会创建3种网络
$docker network ls
#bridge
#host
#none
docker网络模式:
docker-compose.yml
制作镜像: