<center>Docker</center>
Docker镜像
对于linux,内核启动后首先挂在==root==文件系统为用户空间提供支持。
Docker镜像是一个特殊的文件系统,除了提供容器运行时所需要的程序、库、资源、i配置等文件外,包含一些运行时需要的配置参数。镜像不包含任何动态数据,其内容在构建后也不会改变。
分层存储
镜像需要包含完整的==root==文件系统,体积庞大,因此将镜像设计为分层存储结构,镜像构建时将会一层一层构建,前一层是后一层的基础
Docker容器
镜像和容器的关系,就像==类==和==实体==的关系
<center>docker镜像</center>
拉取镜像
从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==之前的镜像
<center>容器</center>
启动
- 新建并启动
所需命令主要为==docker run==
docker run ubuntu:16.04 -t -i /bin/bash
-t:分配一个终端
-i:保持打开容器的标注输入 - 启动已终止的
==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 ==删除容器
<center>访问仓库</center>
==仓库:==集中存放镜像的地方
Docker Hub中存放着超过15000个镜像
登陆docker hub:docker log(命令交互
登出:docker logout
拉曲镜像
==docker search:==查找官方仓库中的镜像
==docker push==将镜像推送到Docker Hub中
推送镜像过程:
- docker tag ubuntu:17.10 username/ubuntu:17.10
- docker image ls
- docker push username/ubuntu17.10
- 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==
网友评论