docker

Docker
Docker镜像

对于linux,内核启动后首先挂在==root==文件系统为用户空间提供支持。
Docker镜像是一个特殊的文件系统,除了提供容器运行时所需要的程序、库、资源、i配置等文件外,包含一些运行时需要的配置参数。镜像不包含任何动态数据,其内容在构建后也不会改变。

分层存储

镜像需要包含完整的==root==文件系统,体积庞大,因此将镜像设计为分层存储结构,镜像构建时将会一层一层构建,前一层是后一层的基础

Docker容器

镜像和容器的关系,就像==类==和==实体==的关系

docker镜像

拉取镜像

从docker镜像仓库拉去镜像的命令==docker pull==
镜像名称格式为:==docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]==
Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号]。默认地址是 Docker Hub。
仓库名:<用户名>/<软件名>如果不给用户名则默认使用官方镜像(library)

  • docker puu ubuntu:16.04
    从默认地址(docker hub)中获取镜像,将会从官方镜像library/ubuntu仓库中获取标签为==16.04==的镜像
运行镜像

使用==docker run==命令运行容器

列出镜像

docker image ls列出镜像
中间层镜像
为了加速镜像构建,重复利用资源,Docker会利用==中间层镜像==。在使用一段时间后会看到一些依赖的中间层镜像。使用 ==docker image ls -a==命令可以查看到包括中间层镜像所在内的全部镜像
==docker image -f==添加过滤条件

删除镜像

==docker image rm==删除镜像
可以根据镜像ID,镜像名来删除镜像
==docker image rm (docker image ls -q -f before=mongo:3.2):删除所有在==mongo:3.2==之前的镜像

容器

启动
  1. 新建并启动
    所需命令主要为==docker run==
    docker run ubuntu:16.04 -t -i /bin/bash
    -t:分配一个终端
    -i:保持打开容器的标注输入
  2. 启动已终止的
    ==docker container start== 命令将已终止的容器运行
守护态运行

后台运行:更多时候需要让docker在后台运行,此时可以通过添加==-d==参数来实现,使用==docker container ls==查看容器信息输出的结果使用==docker container logs[id/name]==查看。

相关命令

==docker container stop==终止一个运行中的程序
==docker container la -a==查看终止状态的容器
==docker container start==重新启动容器
==docker container ls==查看容器信息
==docker exec -it 编号 bash==进入容器
==docker export 容器号 > 文件== 导出容器
==docker import URL/文件目录== 导入容器
==docker load== 导入镜像存储文件到本地镜像库
==docker container rm ==删除容器


访问仓库

==仓库:==集中存放镜像的地方
Docker Hub中存放着超过15000个镜像
登陆docker hub:docker log(命令交互
登出:docker logout

拉曲镜像

==docker search:==查找官方仓库中的镜像
==docker push==将镜像推送到Docker Hub中


推送镜像过程:

  1. docker tag ubuntu:17.10 username/ubuntu:17.10
  2. docker image ls
  3. docker push username/ubuntu17.10
  4. docker seacher username
创建私有库

使用官方提供的==registry==创建私有镜像
==docker run -d -p 5000:5000 -v /opt/data registry==
重新标记镜像
使用==docker tag==可以重新标记镜像
==docker tag ubuntu:16.04 127.0.0.1:5000/ubuntu:latest==
将ubuntu:16.04重新标记为127.0.0.1:5000/ubuntu:latest


使用==docker push==上传镜像
==docker push 127.0.0.1:5000/ubuntu:latest==
使用==curl==查看仓库中的镜像
==curl 127.0.0.1:5000/v2/_catalog==

你可能感兴趣的:(docker)