微服务架构和实践程序员

Docker笔记

2018-09-10  本文已影响44人  处在水深火热的iOS_林龙

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

上一篇下一篇

猜你喜欢

热点阅读