目录:
(1)容器命令介绍
(2) 容器命令案例1
(3)容器命令案例2
(4)容器命令练习
(5)数据卷命令
(6) 数据卷挂在案例1
(7)数据卷挂载案例2
(1)容器命令介绍
暂停命令只会将容器内的进程挂起,容器关联的内存暂存起来,CPU不在执行这个进程,当你把它恢复,程序空间恢复,程序接着被运行
停止:是把进程杀死,容器所占的内存回收,保留下来只剩下文件系统了,静态的东西,一旦停止,不能恢复
docker rm:删除容器命令:删除容器,不仅仅把进程干掉、内存回收,硬盘上的文件系统干掉
(2) 容器命令案例1
创建容器命令:
查看容器的状态:
访问容器
访问了nginx会产生日志:
查看日志:
持续的日志跟踪:
刷新两次:
查看日志:一直跟踪:产生两次日志
(3)容器命令案例2
进入容器命令:
执行命令
查看index.html:
执行修改命令:
访问容器:
退出容器:
执行容器退出命令:
查看命令docker ps -a查看所有命令、
重新启动:
删除容器:
默认不能删除运行中的容器,需要加参数:
(4)容器命令练习
创建容器命令:-d 后台运行 -p:端口对应
查看容器状态:
使用redis客户端测试连接:
进入容器命令:
使用redis-cli命令:
存入一个值:
退出命令:第一次退出redis客户端 第二次退出容器
可以直接进入redis客户端命令:
这样就需要一次退出:
(5)数据卷命令
我们发现docker容器和数据都是耦合在一起的
查看帮助文档:
创建html数据卷:
使命命令列出数据卷:
查看数据卷的信息:
删除位使用的数据卷命令:
查看数据卷:
或者删除指定的数据卷命令:
查看命令:
(6) 数据卷挂在案例1
上面的案例是进入这个容器进行的修改,这里我们使用卷修改:
创建容器命令:-p:端口对应 -v:目录挂载 (数据卷名称:容器内目录)-d:后台运行
查看容器状态命令:
进入挂载的目录:数据卷的位置:
现在已经把容器中的目录内容挂载到宿主机的真实目录下:现在就可以使用vim命令打开了,或者使用高级的客户端工具打开:
查看一下使用cat命令:
打开页面:
当数据卷不存在时挂载会怎么样呢?
删除容器:
删除数据卷
重新创建容器,挂载,此时没有数据卷html,它会帮助我们自动创建
(7)数据卷挂载案例2
mysql容器不与数据卷挂载而直接与目录进行挂载:
导入镜像:
导入镜像命令:
查看镜像:
创建目录:
上传配置文件:
编写mysql的运行命令:
\:表示命令还没完换行书写
-e:环境mysql的密码
-p:端口
-v:表示宿主机挂载的目录
-d:表示后台运行
输入mysql容器运行命令:
查看容器状态命令:
刷新data目录:mysql数据都记录到data目录下了
打开mysql客户端测试连接:
当使用数据卷时,docker会帮我们创建数据卷对应的目录,数据卷指向这个目录,docker挂载时,只需要挂载这个卷上就可以了,不需要关心卷在哪里,这种方式是全全交给docker去处理了,我们不需要去操心,缺点是这个目录不是我们创建的,在哪里创建的我们不知道,想去找比较麻烦
目录挂载:目录使我们自己创建的,我知道这个目录在哪里,挂载的时候直接挂载上就行了,将来可以快速的定位文件在哪里,缺点是:需要我们自己去管理这个目录