一.认识docker
1.docker在开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像
2.docker在运行中使用沙箱机制,相互隔离
二.Docker和虚拟机的差异
1.docker体积小,启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般
2.docker是一个系统进程;虚拟机时操作系统
三.镜像和容器
1.docker将应用、依赖、函数库、配置一起打包,称为镜像(Image)
2.镜像运行以后就是进程,进程就是容器,docker会给容器做隔离,对外不可见
3.DockerHub是Docker镜像的托管平台
四.docker架构(docker run是构建镜像,docker pull是把远程的拿到本地,docker run是把本地的运行到容器)
五.docker的常用命令
1.启动docker:systemctl start docker
2.关闭docker:systemctl stop docker
3.重启docker:systemctl restart docker
4.关闭防火墙:systemctl stop firewalld
5.查看镜像:docker images
6.删除镜像:docker rmi -f 镜像名(-f是强制删除)
7.保存镜像为一个压缩包:docker save -o 压缩名 要变的名
8.加载压缩包为镜像:docker load -i压缩包
六.docker的拉取、压缩、加载镜像
1.镜像:【镜像名称】:【版本】如:mysql:5.7;如果拉取的时候没有给指定版本,就会使用最新的
2.把远程拉到本地:docker pull 服务名;如果要加版本在服务名后面加版本号
七.docker容器
1.镜像docker run之后容器可以运行、暂停、停止
2.运行---->暂停:docker pause;暂停---->运行:docker unpause
3.运行---->停止:docker stop 容器名;停止---->运行:docker start 容器名
4.查看所有容器的运行状态:docker ps
5.查看容器运行日志:docker logs -f 容器名(-f可以持续查看日志)
6.进入容器执行命令:docker exec -it 容器名称 bash
7.运行镜像:docker run --name nginx -p 80:80 -d nginx(只有第一次运行才这样);以后docker run 容器名称就行了
八.修改容器文件
1.进入cd /usr/share/nginx/html
2.cat index.html查看html里面的代码
九.启动redis和数据存储
1.把redis镜像变为容器
2.然后再docket exec -it redis bash进行修改
3.设置redis的持久化
4.进入到容器docket exec -it redis bash
5.进入redis-cli -p 6379;有多个端口要声明端口
十.数据卷(Volumes)
1.等于第三方,方便于容器之间的数据进行交换,因为容器跟容器之间是互相隔离的,要想数据交换很困难所以使用了数据卷
2.创建数据卷:docker volume create html
3.查看所有数据:dockers volume ls
3.查看数据卷的详情信息:docker volume inspect html(还可以查询文件的路径)
4.删除:dockers volume rm 文件名
十一.挂载数据卷
1.先删除nginx