首页 > 其他分享 >【Docker镜像使用:场景,命令,架构】

【Docker镜像使用:场景,命令,架构】

时间:2023-02-02 14:32:02浏览次数:47  
标签:容器 架构 仓库 ubuntu 镜像 Docker docker

一.简介

Docker 是一个开源的应用容器引擎,基于 ​​Go 语言​​ 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。


二.应用场景

1.Web 应用的自动化打包和发布。

2.自动化测试和持续集成、发布。

3.在服务型环境中部署和调整数据库或其他的后台应用。

4.从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。


三.优点

Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

1.快速,一致地交付您的应用程序

2.响应式部署和扩展

3.在同一硬件上运行更多工作负载


四.Docker架构

Docker 包括三个基本概念:

镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。

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

仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。Docker Hub(​​https://hub.docker.com​​) 提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。


五.Docker镜像使用

1.列出本地主机上的镜像列表

docker images

【Docker镜像使用:场景,命令,架构】_docker

各个选项说明:

REPOSITORY:表示镜像的仓库源

TAG:镜像的标签,同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

IMAGE ID:镜像ID

CREATED:镜像创建时间

SIZE:镜像大小

2.查找镜像

docker search XXX

【Docker镜像使用:场景,命令,架构】_ubuntu_02

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

3.从仓库下载,获取一个新的镜像

docker pull XXX

【Docker镜像使用:场景,命令,架构】_docker_03

4.删除镜像

docker rmi

【Docker镜像使用:场景,命令,架构】_ubuntu_04

5.创建镜像

当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

(1)从已经创建的容器中更新镜像,并且提交这个镜像

(2)使用 Dockerfile 指令来创建一个新的镜像


5.1更新镜像

(1)使用版本为20.04的基础镜像ubuntu镜像来创建一个容器

docker run -it ubuntu:20.04 /bin/bash

【Docker镜像使用:场景,命令,架构】_Docker_05

参数说明:

-i: 交互式操作。

-t: 终端。

ubuntu:20.04: 这是指用 ubuntu 20.04 版本镜像为基础来启动容器。

/bin/bash:放在镜像名后的是命令,希望有个交互式 Shell,因此用的是 /bin/bash。

如果不指定一个镜像的版本标签,例如只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像。

(2)在运行的容器内使用 apt-get update

【Docker镜像使用:场景,命令,架构】_docker_06

(3)在完成操作之后,输入 exit 命令来退出这个容器。

【Docker镜像使用:场景,命令,架构】_docker_07

(4)docker commit 来提交容器副本。

【Docker镜像使用:场景,命令,架构】_ubuntu_08

各个参数说明:

-m:

-a:

3a299d3e9ea4:容器 ID

lulu/ubuntu:new:

(5)使用新镜像 lulu/ubuntu:new

【Docker镜像使用:场景,命令,架构】_docker_09

5.2构建镜像

使用命令 docker build

【Docker镜像使用:场景,命令,架构】_ubuntu_10

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令,安装了什么。然后,我们使用 Dockerfile 文件,通过 docker build 命令来执行dockerfile文件中的命令构建一个镜像。

【Docker镜像使用:场景,命令,架构】_Docker_11

参数说明:

-t

使用docker images 查看创建的镜像已经在列表中存在,镜像ID为 19a96a0b9bdd   

【Docker镜像使用:场景,命令,架构】_ubuntu_12

6.设置镜像标签,为镜像添加一个新的标签

docker tag 镜像ID 镜像源名(repository name):新的标签名(tag)

【Docker镜像使用:场景,命令,架构】_Docker_13

7.导出镜像,将指定镜像保存成tar归档文件

docker save -o 文件名.tar 镜像名

【Docker镜像使用:场景,命令,架构】_ubuntu_14

8.导入镜像

docker load --input 文件路径/文件名.tar

【Docker镜像使用:场景,命令,架构】_ubuntu_15



标签:容器,架构,仓库,ubuntu,镜像,Docker,docker
From: https://blog.51cto.com/u_15874356/6033556

相关文章

  • WEB开发人员应该知道 10 个 Docker 命令
    Docker的优势很容易让Web开发人员所忽略。对于开发运维来说,它被认为太过技术性、没有必要。作为WEB开发人员,学习使用Docker将有助于简化构建、测试和部署Web应用程序的......
  • docker常用命令
    1、基本命令dockerps查看运行的dockerdockerps-a查看所有imagedockerrmi删除imagedockerrm删除containerdockercp在host和container之间拷......
  • docker 日志清理的实际管理措施
    场景:当我们在实际业务场景中,是用docker或者使用k8s部署我们的服务时,服务在运行过程中打印的print日志,实际上是被记录的在“/var/lib/container/docker/overlay2/{d......
  • docker搭建kafka集群实践
    前言本文主要介绍了如何通过docker搭建一个可以用于生产环境的kafka集群。kafka集群使用了3个节点,依赖zookeeper进行协调,所以会同时搭建一套3节点的zookeeper集群。准备......
  • centos7制作自启动镜像
    一个合格的镜像是会可以不用他人操心自己安装的为了工作方便,自备一个centos7的自启动iso1.挂载iso,并拷贝文件mount/dev/sr0/mntmkdir/mkosmount/dev/sdb/mkos......
  • 识别处理器架构及位数
      图1 CPU架构及处理器类型(32/64)WattToolkit-瓦特工具箱(Steam++官网)(steampp.net)......
  • docker 安装 jenkins快速版
    创建持久化存储mkdir-p /home/wilson/jenkinslast&&chmod777/home/wilson/jenkinslast运行容器,没有镜像默认自动下载dockerrun-d-p20240:8080-p20241:50000......
  • docker kafka 安装步骤
    首先创建一个网络app-tier:网络名称–driver:网络类型为bridgedockernetworkcreateapp-tier--driverbridge1、安装zookeeperKafka依赖zookeeper所以先安装zookeepe......
  • 离线安装docker
    1、先下载docker的安装包下载地址:https://download.docker.com/linux/static/stable/x86_64/这里我们下载docker-19.03.9.tgz,然后上传到服务器上解压tar-zxvfdocker-1......
  • docker镜像压缩导入导出
    docker镜像导出导入导出导入可以用save-load,或者export-import,这里以save-load为例将容器打成镜像dockercommit-a'用户名'-c'描述'mynginx:v0.0.1导出:docker......