这是一个快速交付应用,运行应用的技术
因为docker仅依赖于linux内核,所有可以在任何linux操作系统上运行
它是将应用,依赖,配置等整体打包,通过命令直接运行应用
镜像指定就是docker打包的这个操作
容器指定是运行这个镜像的进程
docker与虚拟机的区别
虚拟机指定是模拟的一台电脑,一个操作系统
docker只是封装整个应用,并没有完整的操作系统
docker运行速度快,操作方便,不需要考虑套多问题,导入即可用
docker的常用指令
docker pull 应用名称 从镜像仓库拉取应用
docker save -0 [自定义保存到文件名] [应用名称和版本号] 将镜像导出
docker images 查看本地所有的镜像
docker rmi [应用名称和版本号] 删除掉镜像
docker load -i [本地的镜像包] 加载本地文件
容器:将镜像启动以后的进程
docker run --name [自定义名称] -p 宿主机端口号:容器端口号 -d 镜像名称:版本号
启动这个应用,
-p 将宿主机端口号和容器端口号进行映射,可以通过宿主机端口号访问容器
-d 将容器设置为后台运行
docker start [容器名称] 让停止的容器开始运行
docker stop [容器名称] 让运行的容器停止
docker pause [容器名称] 让容器暂停
docker unpause [容器名称] 让暂停的容器重新运行
docker rm -f [容器名称] 直接删除一个容器
docker exec -it [容器名称] bash 进入容器
-it 创建一个终端,让我们与容器交互
bash linux终端交互命令
docker ps 容器
docker ps -a 查看所有容器包括停止运行的
数据卷:一个虚拟的目录,指向宿主机的某个目录 一单容器中的目录和数据卷挂载,让我们可以直接操作宿主机的目录,可以将操作映射到容器目录
docker volume creat [自定义数据卷名称] 创建数据卷
docker volume inspect [数据卷名称] 查看数据卷在宿主机的目录
docker volume rm [数据卷名称] 删除指定数据卷
docker volume prune 删除未使用的数据卷
挂载数据卷需要在容器启动之前
docker run --name [自定义名称] -p 宿主机端口号:容器端口号 -v [数据卷名称]:[容器需要映射的目录] -d 镜像名称:版本号
-v 来挂载数据卷 将容器内需要映射的目录和数据卷关联
当然我们也可以直接将宿主机的目录直接和容器内部目录直接挂载 也是通过 -v 在容器启动时指定 -v[宿主机目录]:[容器内部目录]