返回顶部
首页 > 资讯 > 服务器 >Docker容器镜像相关命令基本介绍与使用
  • 693
分享到

Docker容器镜像相关命令基本介绍与使用

2024-04-02 19:04:59 693人浏览 安东尼
摘要

目录一、Docker 介绍1.Docker 架构2.Docker 三大核心二、Docker 安装1.下载 Docker 软件包1)安装基础包2)配置 Docker 的 yum 源3)

一、Docker 介绍

Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 可以将应用程序与基础架构分离(即 不再过于需要底层支持),以便我们可以快速交付软件。使用 Docker,我们可以像管理应用程序一样管理基础架构。Docker 官方

Docker 优势:

灵活: 即使应用过于复杂,我们也可以使用 Docker 来将应用进行容器化。

轻量级: 因为 Docker 容器是使用宿主机共享的内核,所以不需要额外的硬件支持。

应用隔离: 使用 Docker 运行的容器,可以隔离不同应用程序间的互相影响(即,每个容器都是独立的)

1.Docker 架构

Docker 使用的是 C/S 架构,Docker Client 用于和 Docker 的守护进程通信(守护进程就是 Server),守护进程可以用来构建、运行和分发 Docker 容器等操作。Docker Client 和守护进程可以在同一系统上运行,或者将 Docker Client 远程连接到守护进程。使用 REST api 协议,并通过 UNIX 套接字或网络接口进行通信。另一个 Docker Client 是 Docker Compose(允许我们将一组容器组成的应用程序)

在这里插入图片描述

Docker 的架构我们不需要过于关注,因为一般来说 Docker 的 Client 和 Docker 守护进程都是在同一台服务器上运行。

2.Docker 三大核心

这里要说的 Docker 三大核心,分别是 image 镜像,container 容器,repository 仓库;这可以说是 Docker 最重要的部分。

1)镜像

Docker 镜像是 Docker 容器运行时的只读模板,镜像可以用来创建 Docker 容器(每一个镜像都由一系列的层组成)

2)容器

Docker 主要就是利用容器来运行应用,一个 Docker 容器内可以说包含了某个应用运行所需要的环境。每一个 Docker 容器都是从镜像创建出来的。可以说容器就是镜像创建的运行实例,它可以被启动,停止,删除等。而且每个容器都是互相隔离的,保证安全的平台。

3)仓库

Docker 仓库主要就是 用来集中保存镜像的地方,当我们创建了自己的镜像后,可以使用 push 命令将它上传到公共仓库(Public)或者私用仓库(Private),这样的好处是,当我们需要在另外的服务器上使用这个镜像时,可以直接从仓库进行拉取(速度相对较快)

二、Docker 安装

准备工作:

主机名操作系统IP 地址软件包
DockerCentos 7.x192.168.1.4docker-ce-19.03.12 docker-ce-cli-19.03.12

1.下载 Docker 软件包

1)安装基础包

[root@Docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

2)配置 Docker 的 yum 源

[root@Docker ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo Http://mirrors.aliyun.com/repo/Centos-7.repo
[root@Docker ~]# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

3)安装 Docker

我们可以使用 yum list docker-ce --showduplicates | sort -r 命令来查看 Docker 的所有版本。

[root@Docker ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@Docker ~]# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

4)启动 Docker 并验证

[root@Docker ~]# systemctl enable docker --now										# 配置开机自启并启动
[root@Docker ~]# docker version														# 查看 Docker 版本

在这里插入图片描述

5)配置 Docker 加速器

[root@Docker ~]# cat <<END > /etc/docker/daemon.JSON
{
    "reGIStry-mirrors": [
        "https://ipbtg5l0.mirror.aliyuncs.com"
    ]
}
END
[root@Docker ~]# systemctl daemon-reload && systemctl restart docker				# 重启 Docker

2.Docker 基础命令介绍

下面我们主要介绍镜像和容器相关的命令,因为仓库相关命令不是很多,也就是 pull push 等命令。

1)镜像相关命令

1)查看当前 Docker 的所有镜像

// 因为我们的 Docker 是刚安装的. 所以没有显示任何镜像
[root@Docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

上面输出结果分别是:镜像名、镜像对应的标签、镜像 ID 号、创建时间、镜像大小。

2)查看 Docker 仓库中的 busybox 镜像

[root@Docker ~]# docker search busybox
NAME                      DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
busybox                   Busybox base image.                             2447                [OK]                
progrium/busybox                                                          70                                      [OK]
radial/busyboxplus        Full-chain, Internet enabled, busybox made f…   45                                      [OK]
......

我们可以使用 search 来搜索 Docker 仓库中的镜像,上面输出结果分别是:镜像名、描述信息、标星、官方镜像、自动构建。

3)拉取 busybox 镜像

[root@Docker ~]# docker pull busybox:1.28.4								# 指定镜像版本号拉取 (latest 表示最新版)
1.28.4: Pulling from library/busybox									# 从这个仓库进行拉取
07a152489297: Pull complete												# 拉取完成
Digest: sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47		# 这就是镜像的层 (也算是个标识符)
Status: Downloaded newer image for busybox:1.28.4						# 下载的新镜像名称和版本号
docker.io/library/busybox:1.28.4										# 完整仓库地址

在这里插入图片描述

4)给镜像进行打标签(类似于别名操作)

[root@Docker ~]# docker tag busybox:1.28.4 testbusybox:test

在这里插入图片描述

tag 命令在有些时候还是蛮关键的,比如说我们要拉取的镜像在国外,但是由于网络原因,导致我们无法进行拉取,此时我们可以在国内的镜像仓库拉取个同样的镜像,然后来使用 tag 命令来进行打标签操作,改成要拉取国外镜像的名称即可。

5)将 busybox 镜像导出

[root@Docker ~]# docker save -o busybox.tgz busybox:1.28.4

在这里插入图片描述

6)将 busybox 镜像导入

[root@Docker ~]# docker load -i busybox.tgz

在这里插入图片描述

docker rmi:通过镜像名进行删除(加上 -f 可以实现基于镜像 ID 删除)

2)容器相关命令

1)创建一个容器

[root@Docker ~]# docker create -it --name busybox busybox:1.28.4 /bin/sh

在这里插入图片描述

-i:表示让容器的输入保持打开;

-t:表示给容器分配一个伪终端(就是我们后面加的 /bin/bash

docker ps -a:表示查看所有运行的容器(不管容器处于任何状态,都会进行显示)

2)启动一个容器

[root@Docker ~]# docker start busybox[root@Docker ~]# docker ps# 查看当前处于运行状态的容器

在这里插入图片描述

当我们要关闭容器时,可以使用 stop;重启时,可以使用 restart 命令来进行操作。

3)删除容器

[root@Docker ~]# docker stop busybox
[root@Docker ~]# docker rm busybox											# 我们可以通过容器名或者容器 ID 来进行删除

在这里插入图片描述

4)直接运行容器

[root@Docker ~]# docker run -d --name busybox busybox:1.28.4 /bin/sh

在这里插入图片描述

docker exec -it busybox /bin/sh 命令的作用就是可以使我们进入容器内。

3.使用 Docker 实现 Nginx 网站

[root@Docker ~]# docker pull nginx:1.18.0
[root@Docker ~]# docker images
[root@Docker ~]# docker run -d --name nginx -p 1888:80 -v /zhangsan:/usr/share/nginx/html/ nginx:1.18.0
[root@Docker ~]# echo "Hello 河北彭于晏" > /zhangsan/index.html
[root@Docker ~]# curl 127.0.0.1:1888

在这里插入图片描述

-p:指定容器运行时的端口(前面是宿主机端口,后面是容器内端口;-P 这单个字母是用来让容器实现 随机端口映射 的)

-v:指定数据卷,相当于是挂载命令,我们可以将宿主机的目录挂载到容器内(可以增加多个 -v 来配置多个数据卷)

以上就是Docker容器镜像相关命令基本介绍与使用的详细内容,更多关于Docker容器镜像命令的资料请关注编程网其它相关文章!

--结束END--

本文标题: Docker容器镜像相关命令基本介绍与使用

本文链接: https://lsjlt.com/news/143302.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Docker容器镜像相关命令基本介绍与使用
    目录一、Docker 介绍1.Docker 架构2.Docker 三大核心二、Docker 安装1.下载 Docker 软件包1)安装基础包2)配置 Docker 的 yum 源3)...
    99+
    2024-04-02
  • Docker容器镜像相关命令如何使用
    本篇内容介绍了“Docker容器镜像相关命令如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Docker 介绍Docker 是一个...
    99+
    2023-06-29
  • Docker 镜像及容器操作命令介绍
    本文主要讲解安装docker后的基础使用方法以及命令的介绍,主要是docker镜像操作及容器操作命令。 当然,docker的相关命令非常多,可以使用docker help命令查看对应目录以及相关提示命令。Docker镜像操作命令...
    99+
    2023-06-05
  • docker镜像的拉取登陆上传及保存等相关使用命令
    目录docker 中的三大基本概念镜像容器仓库docker 镜像相关命令常用镜像仓库搜索镜像拉取镜像查看当前系统上的有哪些镜像获取镜像的详细信息登录镜像仓库为镜像标签镜像上传镜像的删...
    99+
    2024-04-02
  • Docker镜像与容器的导入导出以及常用命令总结
    目录前言一、Docker 镜像和容器的导入导出1.1、镜像的导入导出1.1.1、镜像的保存1.1.2、镜像的导入1.2、容器的导入和导出1.2.1、容器的导出1.2.2、容器包的导入...
    99+
    2024-04-02
  • redis的list数据类型相关命令介绍及使用
    目录list列表简介常用命令添加命令查询命令弹出/删除命令修改命令阻塞弹出命令应用场景list列表简介 list是简单的字符串列表(说通俗点,存储的还是字符串),按照插入顺序排序。你...
    99+
    2024-04-02
  • Linux 脚本编写基础知识以及在shell脚本中可以使用三类命令介绍
    本篇内容主要讲解“Linux 脚本编写基础知识以及在shell脚本中可以使用三类命令介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux 脚本编写基础知识以及在shell脚本中可以使用三...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作