【docker】入门及常用命令-镜像,容器管理

docker原理了解

和vm原理对比

在这里插入图片描述

镜像是?

定义: Docker 镜像是一个特殊的文件系统, 除了提供容器运行时所需的程序、 库、 资源、 配置等文件外, 还包含了一些为运行时准备的一些配置参数( 如匿名卷、 环境变量、 用户等) 。 镜像不包含任何动态数据, 其内容在构建之后也不会被改变。

特点: 分层存储。镜像构建时, 会一层层构建, 前一层是后一层的基础。 每一层构建完就不会再发生改变, 后一层上的任何改变只发生在自己这一层。

容器是?

定义: 镜像( Image ) 和容器( Container ) 的关系, 就像是面向对象程序设计中的类和实例 一样, 镜像是静态的定义, 容器是镜像运行时的实体。 容器可以被创建、 启动、 停止、 删除、 暂停等。

本质: 是一个拥有自己独立命名空间的进程。可以拥有自己的 root 文件系统、 自己的网络配置、自己的进程空间, 甚至自己的用户 ID 空间。

仓库(Docker Registry)是?

定义: 网络中的镜像注册中心,宿主机(不同地域,不同网络)可以在仓库中拉取镜像。

一个 Registry可以有多个仓库(repository),每个仓库多个镜像(一个镜像一个tag便签)。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。 如果不给出标签, 将以 latest 作为默认标签。

以 Ubuntu 镜像 为例, ubuntu 是仓库的名字, 其内包含有不同的版本标签,如, 16.04 , 18.04 。 我们可以通过 ubuntu:16.04 , 或者 ubuntu:18.04来具体指定所需哪个版本的镜像。 如果忽略了标签, 比如 ubuntu , 那将视为ubuntu:latest

配置

ubuntu

/etc/docker/daemon.json文件配置镜像加速

{
“registry-mirrors”: [
“https://hub-mirror.c.163.com”
]
}

重新启动

sudo systemctl daemon-reload

sudo systemctl restart docker

docker 启动和关闭

启动 systemctl start docker
守护进程重启 sudo systemctl daemon-reload

重启docker服务 systemctl restart dock
重启docker服务 sudo service docker restart

关闭docker service docker stop
闭docker systemctl stop docker

镜像操作相关

获取

docker pull [选项] [Docker Registry 地址[:端口号]/] 仓库名[:标签]

eg: docker pull ubuntu:18.04

运行

docker run -it --rm ubuntu:18.04 bash

分析:

  • -i 交互式操作,保持容器的标准输入
  • -t 终端 分配一个为终端用于交互
  • ubuntu:18.04 镜像作为基础
  • –rm 容器退出后就将它删除
  • bash 进入bash命令

退出容器

exit

列出镜像

docker image ls

docker images

在这里插入图片描述

docker system df //查看镜像,容器,数据卷所占用的空间

在这里插入图片描述

删除镜像

docker image rm [选项] <镜像1> [<镜像2> …]

其中,镜像可以用短id(前3-4位),仓库名:标签等表示

容器操作相关

新建并启动

docker run

-i

-t

-d 后台运行,返回container id

docker run的后台操作

  • 检查本地是否存在指定的镜像, 不存在就从公有仓库下载
  • 利用镜像创建并启动一个容器
  • 分配一个文件系统, 并在只读的镜像层外面挂载一层可读写层
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
  • 从地址池配置一个 ip 地址给容器
  • 执行用户指定的应用程序
  • 执行完毕后容器被终止

容器管理

docker container ls 查看容器

docker container logs [id] 查看后台容器的输出

停止容器

docker container stop [id] 强制-f

docker container ls -a 查看已经停止的容器

docker container start 重新启动已经终止的容器

docker container restart 重新启动正在运行的容器

容器进入

docker attach [id] 进入容器后,exit会导致容器终止

docker exec [id] 进入容器后,exit不会导致容器终止 eg:docker exec -it d9a1 bash

导入导出

导出

docker export [id] >ubuntu.tar

本地位置一般是当前文件夹下

导入

指定文件

docker import

指定url

docker import http://xxx/xx/xx example/imagerepository

删除容器

docker container rm [id/name] 删除单个

docker container prune 删除所有终止状态容器

仓库管理

登录自己账号

docker login

docker logout

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值