Docker 是一个开源项目 是一个容器
更新不要的
Yum update -y –exclud=kernel*内核开头不要的
在安装基础软件
Yum install -y yum-utilsdevice-mapper-persistent-data lvm2
安装yum源
测试启动 看安装了没 docker info
默认情况 下载 官方的镜像
Docker pull [镜像名称]:[镜像版本号]
Docker pull nginx:1.17
获取镜像列表 {是本机}
Docker images 或 docker image ls
参数:
-a:显示临时镜像文件 {构建好了会产生历史镜像file垃圾}
-q:只显示镜像ID
镜像标签
Docker tag [原镜像名称|ID] [新镜像名称:版本号]
Docker tag nginx:1.19.2 test:版本号
查看构建历史 {查看有没有什么隐藏文件,file是由什么构成的}
Doker history [镜像名称]
Docker history redis
搜索镜像 {指查看仓库有没有这个镜像}
Docker search [镜像名称]
Docker search redis
参数:
--limit:指定查出多少条
Docker search redis –limit 5
-f: 过滤
清理和删除:
Docker image prune [镜像名称或ID] {没用到的就会被全部删了,用到的就不会}
Docker rmi [镜像ID或名字]
提交镜像:{把容器变更成镜像}
Docker commit [参数] [容器ID] [镜像名称]
参数:
-a:指定作者 {谁用的名字}
-m:指定描述 {描述干什么的}
-p:提交时容器暂停运行
导入容器file,导出镜像
1、 export和import
针对政策
Docker export [容器ID] > [随便起个名字.tar]
Docker import [压缩包] [镜像ID或名字]
2、 save和load
针对镜像
Docker save [镜像ID] > [压缩包.tar] {save 是将镜像导出file}
Docker save -o [压缩包] [镜像名称] {保存多个镜像}
再输出镜像容器压缩包
Docker load < [压缩包]
创建容器:{就是把镜像变更成容器}
Dockers run [参数] [镜像名称或ID]
参数:
-d:一守护进程的方式启动{也就是后台运行}
--name:设置容器的名称
--rm:当容器运行结束就立即删除容器了
-p:做固定端口
大-P:生成随机端口
-i:打开文件标准输出 {就是在前台显示}
-t:创建一个终端{就是创建一个前台显示窗口}
-e:设置环境变量{也就是创建环境变量}
-v:挂载目录{就是把本地的文件挂载到容器里面去,本的文件更改,容器里面也会变,(也不用每次打包,节省复杂繁琐的环节)}
停止容器:
Docker attach [容器ID或名字]
attach :连接到容器中(缺点:断开则停止镜像)
exec:在容器内执行一个命令 {查看容器里面的file}
nsenter :linux命令,通过管道链接容器
Ssh
网络模式:
Host:容器与根命名空间共享网络 {linux 名字共享}
Docker run –network host nginx:1.19.2
Container: 共享某个容器的网络
Docker run –network”container:[容器ID]”nginx:1.19.2
None:只为容器提供回环网络
Docker run –network none [容器ID]
网桥:
Docker network create [名称] {先搭好网桥}
Docker run –network oldboy nginx:1.19.2 {在互联}