Docker容器与镜像

目录

前言:

一、环境要求

1. liunx系统版本

2. 移除全部的老版本

3. 必要工具安装

二、软件源信息:

1、镜像源

三、配置docker

1、docker的基础配置

2、拉取镜像源与配置镜像

3. Dokcer 启动容器

前言:

本文前景:安装测试环境,如果是生产环境请查看k8s官方详解,本人不建议生产环境使用Docker

一、环境要求

1. liunx系统版本

CentOS7
CentOS6.5 以上
命令:uname -r 校验版本

2. 移除全部的老版本

sudo yum remove docker docker-client docker-
client-latest docker-common docker-latest docker-
latest-llogrotate docker-logrotate docker-selinux
docker-engine-selinux docker-engine
报告没有这些软件包也可以

3. 必要工具安装

命令:sudo yum install -y yum-utils device-mapper persistent-data lvm2
说明:

yum-utils是管理repository及扩展包的工具,包含一系列yum工具yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper persistent-data 和 lvm2。

LVM : 它是对磁盘分区进行管理的一种机制,建立在硬盘和分区之上的一个逻辑层,用来提高磁盘管理的灵活性。通过LVM可将若干个磁盘分区连接为一个整块的卷组(Volume Group)形成一个存储池。可以在卷组上随意创建逻辑卷(Logical Volumes),并进一步在逻辑卷上 创建文件系统,与直接使用物理存储在管理上相比,提供了更好灵活性总而言之,docke新安装,需要设置仓库,设置仓库就需要这三个辅助工具

Docker中的软件与服务器的端口映射概念

Docker的基本概念:

镜像(Image)

容器(Container)

仓库(Repository)

镜像是什么?

镜像就是数据的精确复制或映像。具体而言,镜像是一个与原始数据或源的副本完全一样的副本

一般而言,经常使用的镜像都是这三种

  1. 硬盘镜像:硬盘镜像是对硬盘或磁盘驱动器上所有数据的完全复制。它可以包括分区、文件系统、文件和文件夹,以及操作系统和应用程序。硬盘镜像通常用于备份、克隆和恢复计算机系统。

  2. 软件镜像:软件镜像是对软件安装介质(如光盘、DVD、ISO镜像文件)的完全复制。它包含了原始安装介质上的所有文件和目录结构。软件镜像可用于在多台计算机上进行软件安装,使得每台计算机都有相同的软件副本。

  3. 服务器镜像:服务器镜像是对服务器操作系统和配置的完全复制。它包含了操作系统、软件、设置和数据等。服务器镜像可用于创建相同配置的多台服务器,以便实现负载均衡、快速部署和容灾恢复等功能。

容器是独立运行的一个或一组应用,以及它们的运行环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和运行在上面的应用。

镜像: Docker镜像是用于创建Docker容器的模板。

Docker容器 :容器是独立运行的一个或一组应用。

Docker仓库 :Docker仓库用来保存镜像,可以理解为代码控

制中的代码仓库。Docker Hub提供了庞大的镜像

集合供使用。Docker我们就简单理解为--这个东西是个软件,与QQ,与

英雄联盟这些东西一样,当你运行这个软件的时候,它就是 一个服务器启动了。

而容器,就理解为,它就是个空的liunx服务器,

镜像,就是一个已经装好应用服务器,

仓库,就是用来保存镜像的东西

二、软件源信息:

1、镜像源

1.官方建议:(个人不推荐太慢了)

yum-config-manager --add-repo https://download.docker.com/linux/centos/dockerce.repo

2.阿里云源 (个人推荐)

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/dockerce.repo

三、配置docker

1、docker的基础配置

1.安装 Docker-CE(核心步骤)

命令:sudo yum -y install docker-ce

到这里 docker服务安装完成. 然后,我们可以操作一下我们的docker镜像

2.启动Docker后台服务

命令:sudo systemctl start docker

3. 重启Docker服务

命令:sudo systemctl restart docker

4.安装成功后可通过查看

命令:docker version

5.卸载Docker命令

命令:sudo yum remove docker-ce

命令:sudo rm -rf /var/lib/docker

docker搞定后,理论上就可以拉取镜像了,但是docker是默认外网拉取的,所以我们需要在国内配置镜像加速配置需要,注册一个阿里云账号,地址如下:

https://cr.console.aliyun.com/cnhangzhou/instances/mirrors

执行如下命令:

命令:sudo mkdir -p /etc/docker

接下来执行,输入添加配置文件命令:

命令:sudo tee /etc/docker/daemon.json <<- 'EOF'

跳转到输入>符号

{

"registry-mirrors":

["https://gxeo3yz7.mirror.aliyuncs.com"]

}

输入上述配置后,用下面命令退出

命令:EOF

重启docker配置

命令:sudo systemctl daemon-reload

命令:sudo systemctl restart docker

2、拉取镜像源与配置镜像

做完以上操作就可以尝试拉取镜像了:

首先,我们要知道有哪些镜像可拉取,怎么拉取?Docker Hub上有大量的高质量的镜像可以用,Docker Hub网址为:https://hub.docker.com/ 我们也可以使用docker search命令来搜索镜像。 docker search 镜像名:版本号

参数 :

--automated :只列出 automated build类型的镜像; -

-no-trunc :显示完整的镜像描述; -f <过滤条件>:列出

收藏数不小于指定值的镜像。

有点有效的命令:

显示官方dockersearch[包名] --filter"is-official=true"

过滤热度dockersearch[包名] --stars=3注意了:docker search在我们常用之后才会有真正的效

果,建议还是去网址去查看对应的镜像尝试拉取个tomcat镜像:

命令:docker pull tomcat:8

镜像规则如下:

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

注意:

镜像仓库地址:地址的格式一般是<域名/IP>[:端口号]。默认地址是DockerHub

仓库名: 一般是软件名版本 ,当然某些公司也可以给用户名,如果不写版本,那么默认会拉取最新的

管理镜像:

命令:docker 可以用docker image ls/或者docker images命令来查看

下载好的镜像

镜像与下载软件有啥区别?

镜像是多层的,从下载就能看出来,那么它的层级是可以在不同情况下复用的,因为dokcer镜像是多层结构,所以不同的镜像可能会使用相同的基础镜像,从而拥有共同层。所以,实际镜像的硬盘占用空间要比这个列表镜像大小的总和要小很多!

虚悬镜像:官方更新后,同名镜像被转到了新的下载镜像下,旧镜像就没有了仓库名与标签,这种镜像可以直接删除

命令:docker image prune

那如果我要删除一个镜像怎么办呢?

命令:docker image rm [选项] <镜像1>[<镜像2>.....]

如果要删除本地的镜像,也可以使用

命令:docker image rmi 镜像ID

dokcer pull 表示拉取镜像,那么具体能拉取哪些镜像呢?

查看本地镜像的IMAGE ID

命令:docker images -q

查看⼀个镜像的制作历程

命令:docker history 镜像名称

3. Dokcer 启动容器

docker run参数 镜像名称:tag执⾏的命令

参数说明:

-i 保持和 docker 容器内的交互,启动容器时,运⾏的命令结束后,容器依然存活,没有退出(默认是会退出,即停⽌的)

-t 设置参数“-t”可以为容器重新分配一个伪输入终端,而设置参数“-d”则会在后台运行容器,并返回容器ID。

-d 后台运⾏容器

--rm 容器在启动后,执⾏完成命令或程序后就销毁 --name 给容器起⼀个⾃定义名称

-p 宿主机:内部端口

查看所有容器:

命令:docker ps -a

停止容器:

命令:docker stop 容器ID

命令:docker container stop 容器ID或者名字

启动容器

命令:docker start 容器名/容器 ID

如果是启动命令错了,需要重新配置,可以删除容器

命令:docker rm -f 容器名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值