一、docker虚拟机架构
docker创建的所有虚拟机实例共用同一个Linux内核,对硬件占用较小,属于轻量级虚拟机
SaaS PaaS云计算 使用也是docker虚拟机系统
二、docker镜像与容器
容器是从镜像中创建出来的虚拟实例
镜像是用来安装程序,是只读层
容器是用来运行程序的,是读写层
仓库、镜像、容器
仓库就是超级码头
镜像就是集装箱
容器就是运行程序的地方
运行程序的过程:
去仓库找到镜像拉倒本地,用命令把镜像运行起来
docker镜像image
image也是文件,也是运行程序的文件,也可以是运行环境的文件,文件首先会保存到本地,存错文件的格式是Linux中称之为联合存储文件系统ulinixFS,它是一种分层的文件系统,可以将不同的文件挂载到一个虚拟文件下
docker容器Container
docker仓库ship
hub.docker.com#docker官方仓库
c.163yun.com#网易蜂巢
daocloud.io#
三、安装Docker容器
1.在win10安装Docker
2.1如果为win10家庭版
需要自己安装Hyper-V
点击下载
下载后右键管理员安装就可以
2.2伪装成专业版绕过安装检测
如图,由于Docker Desktop会在安装的时候检测系统版本,直接安装会显示安装失败。所以需要改下注册表绕过安装检测。
打开注册表(在搜索框或者CMD直接搜索regedit就可以),定位到HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion,点击current version,在右侧找到EditionId,右键点击EditionID 选择“修改“,在弹出的对话框中将第二项”数值数据“的内容改为Professional,然后点击确定
如果嫌改注册表麻烦,可以用管理员权限运行如下cmd命令
REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F
注意: 1、修改前先备份注册表。2、重启后此项注册表值会自动还原,但不影响docker运行。
其他事项
在官网下载docker-ce-desktop-windows后直接安装,安装时取消勾选window容器。经过测试,linux容器运行正常,切换到windows容器会检测windows版本而无法启动。不过一般也不会用到windows容器。
四、Docker虚拟机管理命令
Dockerfile
build 创建镜像
rmi 删除镜像
镜像和仓库之间的命令
search 查找镜像
push 上传镜像
pull 下拉镜像
save 保存镜像 .gz
load 导入镜像
镜像和容器之间的命令
run 运行容器
exec 进入容器
ps 查看运行中的命令
commit 提交
rm 删除文件
rm -r 删除目录,并删除目录下的文件
stop 停止指定进程
restart 重新启动指定容器
tar -cvf 压缩文件
tar -xvf 解压文件
查看端口状态
netstat -na|grep 8080
五、创建自定义镜像流程
Python3.x + Flask
1.在本地创建文件夹myapp
2.在myapp目录下创建三个文件 app.py requirements.txt Dockerfile(名字固定)
3.对文件进行相应配置
4.在当前myapp目录下启动终端输入命令
docker-compose build
docker-compose up
在浏览器上输入自己的服务器IP可以看到“Home page”
如果终端docker不可用,可以将文件上传到服务器在服务器运行
在终端将myapp压缩
tar -cvf myspp.tar myapp
执行镜像