Docker镜像
镜像是一个包含完整的操作系统
Docker容器
容器是镜像创建的运行实例,可以启动,停止,删除等操作
参数 | 内容 |
---|---|
REPOSITORY: | 镜像名称 |
TAG: | 版本号 |
IMAGE ID: | 镜像ID |
CREATED: | 创建时间 |
SIZE: | 大小 |
镜像的ID 可以相同代表的是同一个镜像
镜像的TAG 如果不指明默认使用latest标记
Docker仓库
仓库是集中镜像的一个场所,仓库分为公开仓库和私有仓库,公开仓库提供大量大镜像给大量用户下载,用户也可以通过push命令上传自己的镜像到公/私有库中。也可以从仓库中pull下来
仓库 => 镜像 => 容器
容器创建、使用步骤:
1 docker run -i -t centos /bin/bash 本地判断是有有centos的包,无则下载,有则直接创建
2.进入到centos系统的docker进行操作
3.exit进行退出
4.下次如需要启动之前的容器时不执行 docker run 命令,docker run 命令类似于创建一个系统
5.docker ps -a 获取容器要启动的容器信息
6.docker start 容器名/容器id 开启容器服务
7.docker attach 容器名/容器id 打开容器
基本命令
指令 | 镜像操作 | 容器操作 |
---|---|---|
查看本地 | docker images | docker ps |
运行 | docker run -t -i 镜像名/镜像id /bin/bash | docker start 容器名/容器id docker attach 容器名/容器id |
删除 | docker rmi 镜像名 | docker rm 容器名/容器id |
保存tar文件 | docker save -o 文件名.tar 镜像 | docker export ps容器ID > 文件名.tar |
加载tar文件 | docker import 文件名.tar 指定镜像名 | docker load 文件名.tar 指定镜像名 |
命令总结
命令 | 语句 |
---|---|
查询本地镜像 | docker images |
镜像下载 | docker pull |
镜像上传 | docker push |
运行容器 | docker run |
保存镜像 | docker commit |
保存镜像 | docker build |
删除镜像 | docker rmi |
创建镜像分支 | docker tag |
查询容器信息 | docker inspect |
//查询本地有多少镜像
docker images
//拉取镜像创建容器
//通过/bin/bash命令启动 运行docker 指定centos系统
// -t 分配一个伪终端绑定再容器的标准输入上
// -i 让容器标准输入保持打开
sudo docker run -t -i centos:latest /bin/bash
//通过容器保存镜像
//-m版本注释
//-a解释作者信息
// bb10e47cf9cf 容器id(可在docker ps -a 查询)
//最后指定镜像名称
docker commit -m "add lynx" -a "Docker NewBee" bb10e47cf9cf newcentos/new
//通过配置文件创建一个新的镜像
// -t 绑定镜像名:标签 . 表示当前路径
vi Dockerfile
FROM centos:latest // FROM表示从什么镜像的基础上创建
MAINTAINER Docker newUser <250038728@qq.com> // MAINTAINER 创建者信息
RUN yum install lynx // RUN shell命令
docker build -t "outuser/sin:v2" .
//============================= 保存/读取 ===============================
//通过镜像 保存在本地(tar)
docker save -o 文件.tar outuser/sin:v3
//导入本地镜像文件(tar)
cat ubuntu.tar.gz | docker import - ubuntu:latest
//通过容器 保存在本地(tar)
docker export ps进程名ID > 文件名.tar
//加载本地文件
docker load --input 文件名.tar
//=============================== 上传 ==================================
//镜像上传
docker push outuser/sin:v3
//=============================== 修改 ==================================
//删除镜像(rmi 是删除镜像 rm是删除容器)
docker rmi outuser/sin:v3
//删除容器 名/id
docker rm 容器名
// 原有的镜像id 新镜像名:tag名
docker stop ps进程名
docker restart ps进程名
docker start ps进程名
docker attach ps进程名 //运行容器
//查看该容器的打印日志
docker logs ps容器名/id
//============================= 绑定容器外的数据 ===============================
// -v标识表示的是绑定数据卷, 本地路径:docker路径
docker run -i -t -v /root/aPath:/root/data centos
//数据容器
docker run -v /root/data --name dbdata -t -i -d centos /bin/bash //创建数据容器
docker run -t -i -t --name db1 --volumes-from dbdata centos /bin/bash //绑定数据容器
//============================= 绑定端口号 ===============================
//指定端口号 -p可以多次使用(可以绑定多个端口)
docker run -p 8000:8000 -t -i --name bindPort centos /bin/bash
//随机端口号(随机是用大写的P)
docker run -P -t -i --name bindPort centos /bin/bash
//查询绑定端口号
docker port 容器名/id
//docker -link
57 - 69