千家信息网

docker学习02-docker基础

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,I. dcoker基本概念镜像(image)镜像,从本质上来讲,镜像相当于一个文件系统。镜像是只读的,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包好了一些为运行时准备的一些配置参数,如匿
千家信息网最后更新 2026年10月31日docker学习02-docker基础

I. dcoker基本概念

  • 镜像(image)

    镜像,从本质上来讲,镜像相当于一个文件系统。镜像是只读的,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包好了一些为运行时准备的一些配置参数,如匿名卷、环境变量、用户等。镜像不包含任何动态数据,其内容在构建之后也不会被改变。一个镜像可以运行多个container,镜像可以通过dockerfile创建,也可以从dicker hub/registory上下载。

  • 容器(container)

    容器,容器的实质是进程,但是是运行在属于自己的独立的命名空间,因此容器可以拥有自己的root文件系统,自己的网络配置,自己的进程空间,甚至自己的用户id空间。说白了就是运行在一个隔离的环境里。

  • 仓库(repository)

    仓库,顾名思义,就是一个用来存储用的空间。镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果要在其他服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,docker registry就是这样的服务

    镜像就相当于打包好的版本,镜像启动之后运行在容器中,仓库就是存储镜像的地方

  • 分层存储

    因为镜像包含操作系统完整的root文件系统,其体积往往是庞大的,因此在docker设计时,就充分利用Union FS的技术,将其设计为 分层存储 的架构。严格来讲,镜像并非是像一个ISO那样的打包文件,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,是由对曾文件系统联合组成。

    镜像构建时,会一层层构建,前一层作为后一层的基础,每一层构建完就不会再发生改变,后一层上的改变只发生在自己这一层上。

II. Docker的C/S模式

Docker采用了C/S架构,包括客户端和服务端。Docker守护进程(Daemon)作为服务端接受来自客户端的请求,并处理这些请求(创建、运行、分发容器)

Docker守护进程一般在宿主机主机后台运行,等待接受来自客户端的消息,Docker客户端则为用户提供一系列可执行命令,用户用这些命令实现跟Docker 守护京城交互:

Docker也为我们提供了Remote API来操作Docker的守护进程,也意味着我们可以通过自己的进程来控制Docker的运行。客户端和服务端既可以运行在一个机器上,也可通过socket或RESTfuk API来进行通信:

至于Docker的客户端与守护进程之间的通信,其连接方式为socket连接,主要有三种连接方式:

  • unix:///var/run/docker.sock
  • tcp://host:ip
  • fd://socketfd
    完整的Docker的C/S连接方式的本质可以一般表示为如下:

III.使用Docker

容器操作

#启动一个容器  docker run -it nginx /bin/bash#查看容器        docker ps  [-a] [-l]        -a  all 列出所有容器        -l   latest 列出最近的容器#查看指定容器    docker inspect name | id    name指代具体的容器名称,id则是容器的唯一标识#启停容器    docker start|stop name | id#删除停止的容器    docker  rm name| id#进入正在运行的容器    #docker attach name | id   退出时要使用Ctrl+P Ctrl+Q    docker exec -it name | id bash   退出时可以使用exit#启动后台运行的容器    docker -d ...  #查看容器日志    docker logs [-f] [-t] [-tail] name|id    -f -follows=true | false,默认是false,显示更新    -t -timestamps=true | false,默认是false,显示时间戳    -tail="all" | 行数,显示最新行数的日志#查看容器内进程    docker top name|id

镜像操作

#查询镜像    #docker search name [options]    -automated=false,仅显示自动化构建的镜像    -no-trunc=false,不以截断的方式输出    -filter,添加过滤条件#拉取镜像  docker pull [OPTIONS] NAME [:TAG]    -a,-all-tags=false,下载所有的镜像(包含所有TAG)#推送镜像  docker push  [OPTIONS] NAME [:TAG]#列出镜像  docker images [OPTIONS] [REPOSITORY]    -a,-all=false,显示所有镜像    -f,-filter=[],显示时过滤条件    -no-trunc=false,指定不使用截断的形式显示数据    -q,-quiet=false,只显示镜像的唯一id#查看镜像  docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE]    -f,-format=""#构建镜像构建docker镜像,可以保存对容器的修改,并且再次使用。构建镜像提供了自定义镜像的能力,以软件的形式打包并分发服务及其运行环境。Docker中提供了两种方式来构建镜像: -  通过容器构建:docker commit -  通过Dockerfile: docker build  1. 使用commit命令构建镜像    命令:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]    参数:-a,-author="",指定镜像的作者信息    -m,-message="",提交信息    -p,-pause=true,commit时是否暂停容器
    ccs-iMac:~ cc$ docker commit -a 'hxl' -m 'test commit an image'  reverent_allen web     sha256:464ca63bbb182e5d7fd2809da1dcb6942484ece7b89e242ecaabdb9c8d5552
2.使用Dockerfile文件构建镜像Docker允许我们利用一个类似配置文件的形式来进行构建自定义镜像,在文件中可以指定原始的镜像,自定义镜像的维护人信息,对原始镜像采取的操作以及暴露的端口等信息。比如:
Sample DockerfileFROM ubuntu:16.04MAINTAINER wgp "Kingdompin@163.com"RUN apt-get updateRUN apt-get install -y nginxEXPOSE 80
命令:docker build [OPTIONS] DockerFile_PATH | URL | -    参数:-force-rm=false    -no-cache=false    -pull=false    -q,quite=false,构建时不输出信息    -rm=true    -t,tag="",指定输出的镜像名称信息#镜像迁移    我们制作好镜像,一般要分享给别人。Docker提供了几种迁移的方式,但是常用的一般有两种:    1.使用registory 来分享,可选Docker HUb 和私有仓库    2.docker load 和docker save 来打包分享

仓库操作

仓库一般就是Dokcer Hub 和私有自建registry 至于如何自建私有仓库,本篇就不叙述了。

镜像 容器 运行 文件 进程 仓库 服务 信息 客户 方式 系统 命令 就是 存储 客户端 用户 空间 配置 参数 形式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 深圳九邦互联网科技有限公司 互联网科技英文翻译 互联网养老 桔豆科技 新华互联网科技校企合作 无锡溥仪互联网科技有限公司 栖莱科技互联网股份有限公司 中国航天科技大学国际工业互联网 互联网科技公司有风险吗 洛阳昕诺飞互联网科技有限公司 国大互联网教育科技有限公司工作 山东星卡互联网科技有限公司官网 厦门江牛科技互联网 图游互联网科技 科技互联网行业投资研究 湖北辰鑫科技互联网 互联网金融金融科技 互联网科技创业计划的风险分析 高科技和互联网的现代国家 广州全民伙伴互联网科技有限公司 互联网科技与金融科技 奇士达互联网科技 互联网女皇 腾讯科技 奔汉互联网科技 深圳天众互联网科技公司 广州慧亚互联网科技怎么样 欧洲十大科技互联网公司 皮皮虾互联网科技有限公司 产业互联网科技服务公司 恒生互联网科技趋势
0