Docker(四)Image、Container

2023-05-16

一、Image镜像

Docker把应用程序及其依赖,打包在image文件里面。只有通过这个文件,才能生成Docker容器。image文件可以看作是容器的模板。Docker根据image文件生成容器的实例。同一个image文件,可以生成多个同时运行的容器实例。注意image文件是只读的

二、Image的获取

  • 第一种方式:Build from Dockerfile
  • 第二种方式:Pull from Registry

三、Image基本命令

docker image ls -> 查看当前docker service中的所有image

docker history [IMAGE ID] -> 查看该image的分层

docker run [IMAGE NAME | IMAGE ID] -> 创建新的容器并运行command,这个command是image中的CMD命令

注意:docker run ubuntu会默认运行latest版本,docker run ubuntu:14.04会运行指定版本

四、Container容器

  • container是通过image创建的
  • 在image layer(只读)之上建立了一个container layer(可读、可写)
  • image负责App的储存和分发,container负责运行App

五、Container基本命令

docker container ls -> 列出当前正在运行的container
docker container ls -a -> 列出所有状态的container(包括正在运行的、已经退出的)

注意:使用docker run [IMAGE NAME]命令运行容器,容器执行完command后会直接退出。

交互式运行容器的命令:docker run -it [IMAGE NAME]

例如:
这里写图片描述
可以看到进入到了操作系统里面了,也就是说现在产生了一个up状态的container。

docker container stop [CONTAINER ID] -> 退出容器

docker container rm [CONTAINER ID] -> 移除容器

docker rm [CONTAINER ID] -> 移除容器(简化命令),效果同上

docker container ls -aq -> 列出所有containerId

docker rm $(docker container ls -aq) -> 批量移除container

docker rm $(docker container ls -f 'status=exited' -aq) -> 按过滤条件’status=exited’,批量删除container

六、构建自己的镜像

场景:centos镜像中没有安装vim,现在需要制作一个基于centos镜像并安装好vim的镜像。

  • first,新建一个Dockerfile文件,里面的内容如下:
# 表示base image为centos,如果没有base image那么需写成FROM scratch 
FROM centos
RUN yum install -y vim
  • second,利用build命令构建镜像:
docker build -t cherry-peng/centos-vim-new .

-t后面参数表示镜像的名称和tag,tag不写默认latest
.为Dockerfile文件的PATH参数,即表示当前目录下的Dockerfile。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker(四)Image、Container 的相关文章

随机推荐

  • ARM:系统移植1

    一 系统移植的概述 1 目的 xff1a 1 软硬件可裁剪 xff1a 硬件发生变化 xff0c 软件要进行裁剪 xff0c 适配硬件 2 学习linux驱动的开发 xff0c 前提开发板上需要运行linux系统 移植linux内核系统到开
  • hdu 3700 cat

    Cat Time Limit 2000 1000 MS Java Others Memory Limit 32768 32768 K Java Others Total Submission s 181 Accepted Submissio
  • OpenWrt 安装中文语言包

    OpenWrt 安装中文语言包 本文地址 xff1a blog lucien ink archives 527 安装 luci i18n base zh cn 即可 xff08 这不是一篇水文 xff09
  • OpenWrt 安装 OpenClash

    OpenWrt 安装 OpenClash 本文地址 xff1a blog lucien ink archives 528 截止 2022 年 5 月 5 日 xff0c OpenWrt 的最新版本为 21 02 3 xff0c OpenCl
  • OpenWrt 添加自定义 Service

    OpenWrt 添加自定义 Service 本文地址 xff1a blog lucien ink archives 530 span class token shebang important bin sh etc rc common sp
  • PVE 虚拟机心跳检测并重启

    PVE 虚拟机心跳检测并重启 本文地址 xff1a blog lucien ink archives 531 不知为何 xff0c PVE 中的 OpenWrt 时不时会宕机 xff0c 这是背景 秉承着能用就行的思想 xff0c 写了一个
  • WSL2 安装、配置 Cuda、pytorch 记录

    WSL2 安装 配置 Cuda pytorch 记录 本文地址 xff1a blog lucien ink archives 532 最近整了张矿卡 xff0c 为了这盘醋 xff0c 包了盘饺子 虽然我已经预料到买前深度学习 xff0c
  • Windows 删除恢复分区

    Windows 删除恢复分区 本文地址 xff1a blog lucien ink archives 533 目前不论是 Windows 10 还是 Windows 11 xff0c 在安装完成后在 C 盘的后面都会有一个恢复分区 xff0
  • Debian 下 CUDA 生产环境配置笔记

    最近整了张 Tesla P4 xff0c 由于是半高卡 xff0c 索性就直接将其塞进了我的 NAS 里 xff0c 试图将原来用 onnx 跑在 CPU 上的模型迁移至 GPU 上 xff0c 遇到了些许问题 xff0c 在此记录下 本文
  • OpenWRT 扩容

    本文地址 xff1a blog lucien ink archives 535 官网原生的 overlay 只有 100M xff0c 不够用 本文只讨论新安装的情形 xff0c 已安装扩容的场景在本文不涉及 步骤 假设从官网下载的文件名为
  • PVE 下解决 iKuai 断流、重启问题

    本文地址 xff1a blog lucien ink archives 536 0 前言 懒得看过程可直接移步第 2 部分 之前入手了 N5105 43 i225 V xff0c 收到后装了 PVE 7 2 作为底层系统 xff0c 虚拟化
  • OpenWRT 安装 PassWall

    本文地址 xff1a blog lucien ink archives 537 访问 OpenWRT Download Server packges xff0c 找到自己的架构 xff0c 以 x86 64 为例 xff1a 在 etc o
  • ARM:系统移植2

    1 u boot启动程序 1 获取uboot源码渠道 1 xff09 u boot官方 xff1a https ftp denx de pub u boot 2 xff09 开发板厂家 3 xff09 芯片厂家 4 xff09 主管领导 x
  • ChatGPT 相关资料收集

    本文地址 xff1a blog lucien ink archives 538 本文用来收集各种和生成式模型相关的内容 xff0c 由于 ChatGPT 是其代表 xff0c 也是会被写入人类历史进程的一个名字 xff0c 所以便用 Cha
  • Debian配置apache2以及CA

    1 安装apache2 apt install y apache2 systemctl start apache2 启动服务 修改apache2配置文件 cd etc apache2 cp sites available default s
  • Debian之配置squid代理缓存

    1 安装服务 apt install squid 2 修改配置 vim etc squid squid conf set nu 显示行号 1390 转到第1390行 第1391行 http access allow localhost 修改
  • JAVA判断回文数的两种方法

    回文数是指正序 xff08 从左向右 xff09 和倒序 xff08 从右向左 xff09 读都是一样的整数 目录 方法一方法二 方法一 通过 61 61 String valueOf 方法把整数转换为字符串 xff0c 再用toCharA
  • java设置Access-Control-Allow-Origin允许多域名访问

    对于前后端分离的项目难免会遇到跨域的问题 xff0c 在设置跨域的问题中有许多需要注意的事情 xff0c 如本次将要将的设置Access Control Allow Origin使其允许多域名请求 1 设置允许多域名访问最简单的方法是使用通
  • Debian10配置静态ip

    查看网卡 xff1a ip addr 修改网卡网络地址配置 xff1a vim etc network interfaces 配置模板 xff1a auto span class token punctuation span 网卡名 spa
  • Docker(四)Image、Container

    一 Image镜像 Docker把应用程序及其依赖 xff0c 打包在image文件里面 只有通过这个文件 xff0c 才能生成Docker容器 image文件可以看作是容器的模板 Docker根据image文件生成容器的实例 同一个ima