Docker常用方式简介

什么是Docker

Docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。如果出现的故障,可以通过镜像,快速恢复服务。

一、Docker三大要素

Docker三要素

  • 仓库(Registry):国内主要是阿里云仓库,存放各种所需的公共镜像。
  • 镜像(Images):类似于常见软件的模板,简易版Linux环境+运行于其中的软件,从仓库拉取,存于本地。
  • 容器(Contains): 镜像的实例,一个镜像可创建多个实例。

    二、Docker常用命令

  • 帮助命令

    docker version #查看版本信息
    docker info    #查看docker的相关信息 client及server
    docker --help  #帮助命令
  • 镜像命令

    docker images [options] #列出本地(server)中的所有镜像
                   -a   列出本地所有镜像(含中间映像层)
                   -q   只显示镜像ID
                   --digist   显示摘要信息
                   --no-trunc 显示完整信息
    
    docker search [options]  镜像名  #在仓库中查找镜像
                   --no-trunc  显示完整信息
                   -s  n       显示收藏数不小于n的镜像
                   --automated 只显示automated类型
    
    docker pull 镜像名    #从仓库拉取镜像到本地
    docker rmi -f 镜像名($(docker images -qa)) #强制删除本地镜像(所有)   
  • 容器命令

    docker run [options]  镜像名   #创建镜像实例容器并运行
                 -it     以交互方式,伪终端启动
                 --name  别名
                 -d      后台运行容器并返回容器ID
                 -P/p    随机端口映射/指定端口映射
    
    docker  ps  [options]     #查看所有容器
                 -a    当前正在运行+历史运行过
                 -l    显示最近创建的容器
                 -n    显示最近创建的n个容器
                 -q    只显示容器编号
                 --no-trunc 查看完整信息
    
    exit         #容器停止退出容器
    ctrl+P+Q     #容器不停止退出容器
    
    docker start/restart/stop/kill 容器名 #启动/重启/停止/强制停止容器
    docker rm -f ($(docker ps -qa))       #删除容器(删除所有)
    
    docker run -d 容器名    #以守护进程方式启动
    
    docker logs [options] 容器名    #查看容器运行日志
                 -t       加入时间戳
                 -f       跟踪最新的日志
                 --tail n 显示最后n条
    
    docker top      容器名     #查看容器内运行的进程
    docker inspect  容器名     #查看容器内部运行的细节
    
    docker cp 容器ID:路径 主机路径  #拷贝容器文件到主机
    
    docker attach   容器名     #重新进入未停止(ctrl+P+Q)的容器
    docker exec -it 容器名     相应操作  在容器外部执行内部命令
                             /bin/bash  进入容器同attach

三、镜像原理

1.底层为联合文件系统 UnionFS
2.镜像加载原理 bootsfs(内核,与主机共用不加载)+rootfs(软件文件系统)
3.镜像提交 docker commit -m="描述" -a="作者" 容器名 创建的目标镜像名:版本
4.镜像推送 docker push 可推送到仓库,供大家使用
5.分层镜像
镜像分层结构

四、Docker容器数据卷

卷,就是目录或文件,存在于一个或多个容器中,由docker挂载到容器中,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性。

卷的设计的目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

  • 两种添加方式

    之间命令添加:docker run -it -v /主机目录:/容器目录 镜像名
DockerFile方式:在Dockerfile中使用Volume指令来给镜像添加一个或多个数据卷。

五、DockerFile

编写Dockerfile脚本,docker bulid构建自定义镜像

写在最后

文章简要介绍了Docker的要素及基本使用,以上命令足够使用,但文章没有涉及更多原理层面知识,特别是DockerFile,读者可自行搜索。
原创文章,编写不易!

小橙子的快乐wu
1 声望0 粉丝

想吃就吃 ,想睡就睡,喜欢就去追,我是快乐小妖怪。