Docker本质是将代码所需的环境依赖进行打包运行,而在Docker中最重要的是镜像和容器
镜像:可以简单地理解为每启动一个docker镜像就会占用计算机一个进程,这个进程和另外起的docker镜像的进程是相互独立的,以数据库为例,每个镜像都会copy一份数据库,在他所在的进程中.别的镜像在修改的时候也只能修改自己镜像中的数据库,相当于每个镜像都是一台小型的相互独立的计算机
容器:容器就是包裹镜像的,将镜像启动起来,使得每个镜像之间都相互隔离,互不干扰
(以上仅仅是我对这个的理解,如有错误可以修改)
Docker和DockerHub
Docker是一个CS架构
下载Docker
windows设置镜像加速
{"debug": false,"experimental": false,"features": {"buildkit": true},"insecure-registries": [],"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}
Docker常见命令
除此之外,可以自行了解
Docker 镜像命令演示
我们可以在官网搜索相关镜像https://hub.docker.com/_/nginx
查看也会看见详细的命令
复制命令拉取(速度可能会慢)
等下载完成就可以查看一下镜像
使用Docker将镜像下载到磁盘再返回
使用帮助文档查看命令
执行导出命令
文件也就放在了当前的20146文件夹下
删除镜像,接下来通过上面下载的nginx.tar文件恢复镜像
确认删除镜像 =>还原==>还原成功
Docker容器命令演示
不同:
暂停容器的话,操作系统只是将进程悬挂
停止的话是操作系统直接杀死进程
容器一般都是后台运行
运行命令,容器创建成功,返回唯一容器ID
使用docker ps 查看容器运行状态
浏览器访问,容器启动成功
使用docker logs 容器名,查看容器的运行日志
-f 可以持续输出日志
进入容器内部,修改
可以看到,我们已经进入容器内部
通过docker官网nginx部分 我们可以了解到nginx再docker容器的位置
成功进入
查看文件内容并修改文件内容
退出容器并停掉容器
重启容器
强制删除运行的容器
可以看到确实删除了
Docker数据卷
创建数据卷
查看详细信息
删除数据卷
修改数据卷中的内容
重新创建容器 加上 -v 和nginx的 html的所在路径
然后去这个目录
修改宿主机上的文件就可以同步修改docker容器中的文件