文章目录
  • docker产生的原因
  • 传统虚拟机
  • 容器化技术
  • docker组成
  • 安装docker
  • 镜像加速
  • docker安装过程中遇到的问题以及解决办法
  • Errors during downloading metadata for repository 'root_':
  • Failed to set locale, defaulting to C.UTF-8

docker产生的原因

传统虚拟机

在不使用docker的时候,我们部署项目,是把项目(jar包)直接运行在操作系统。
缺点:

  1. 资源占用多
  2. 荣誉步骤多
  3. 启动慢

docker安装使用_容器

容器化技术

docker安装使用_eureka_02

容器化技术不是模拟一个完整的操作系统。容器化技术是一种轻量级的虚拟化解决方案,用于在单个操作系统实例上运行和管理应用程序和其依赖的环境。它的核心思想是将应用程序及其所有必需的运行时环境、库和依赖项打包成一个独立的容器,这样可以保证应用在不同的计算环境中能够一致地运行,而无需考虑底层操作系统的差异。

比较docker和虚拟技术的不同:

  1. 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后再这个系统上安装和运行软件
  2. 容器内的应用直接运行在宿主机(docker)的内核,容器是没有自己的内核,也没有虚拟我们的硬件,所以就轻便
  3. 每个容器时互相隔离,每个容器内都有一个属于自己的文件系统,互不影响

docker组成

docker安装使用_重启_03

镜像:docker镜像类似于一个模板,可以通过这个模板来创建容器服务,tomcat镜像---->run---->tomcat01容器(提供服务)

容器:docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建。有启动、停止、删除、基本命令

仓库:仓库存放镜像,仓库分为贡藕仓库和私有仓库

安装docker

前提:如果你的服务器上,安装过docker,需要把docker先卸载,然后再进行安装

yum remove docker \
 					docker-client \ 
 					docker-client-latest \ 
 					docker-common \ 
 					docker-latest \ 
 					docker-latest-logrotate \ 
 					docker-logrotate \ 
 					docker-engine
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

正式安装

  1. 安装需要的安装包
yum install -y yum-utils
  • 1.

这个命令是用于在CentOS或Red Hat Linux系统上安装"yum-utils"软件包并自动解决依赖关系。"yum-utils"是一个扩展了Yum软件包管理器的工具集,提供了一些额外的功能,例如清理缓存、安装debug信息包、查找软件包提供的文件等。通过执行这个命令,你可以确保系统中安装了"yum-utils"软件包,并且会自动处理相关的依赖关系,使得这些额外的功能可以在系统中正常使用。

  1. 置仓库镜像(阿里云镜像),这里目前理解的是:使用docker拉取镜像的时候,就会去阿里云仓库中去拉取
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 1.
  1. 更新yum
# centos 7
sudo yum makecache fast
# CentOS 8没有fast这个命令
sudo yum makecache
  • 1.
  • 2.
  • 3.
  • 4.
  1. 安装docker相关社区,docker-ce社区版,ee是企业版
yum install docker-ce docker-ce-cli containerd.io
  • 1.
  1. 启动docker
sudo systemctl start docker
  • 1.
  1. 查看是否安装成功
docker version
  • 1.

docker安装使用_docker_04

这里可以拉取hello-world镜像看是否可以拉取下来

docker run hello-world
  • 1.

如果提示:

[root@hcss-ecs-79a6 yum.repos.d]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Retrying in 1 second 
docker: error pulling image configuration: download failed after attempts=6: dial tcp 157.240.20.8:443: i/o timeout.
See 'docker run --help'.

# 这个错误说明:取阿里云上拉取镜像超时,这个时候可以做一个镜像加速
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

这个错误说明:取阿里云上拉取镜像超时,这个时候可以做一个镜像加速

镜像加速

创建目录

mkdir -p /etc/docker
  • 1.

使用命令

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://7qyk8phi.mirror.aliyuncs.com"]
}
EOF
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

成功之后会提示

docker安装使用_eureka_05

重启服务

sudo systemctl daemon-reload
  • 1.

重启docker

sudo systemctl restart docker
  • 1.

这个时候再去拉取hello-world的镜像就比较快

docker安装过程中遇到的问题以及解决办法

Errors during downloading metadata for repository ‘root_’:

描述:

Failed to set locale, defaulting to C.UTF-8
Docker CE Stable - x86_64                                                                                                                                                   40 kB/s | 3.5 kB     00:00    
created by dnf config-manager from file:///root/                                                                                                                           0.0  B/s |   0  B     00:00    
Errors during downloading metadata for repository 'root_':
  - Curl error (37): Couldn't read a file:// file for file:///root/repodata/repomd.xml [Couldn't open file /root/repodata/repomd.xml]
Error: Failed to download metadata for repo 'root_': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

解决办法:找到 /etc/yum.repos.d 目录下的文件 root_.repo 打开后 ,将 enabled=1 修改为 enabled=0 保存变更内容就可以正常安装了

docker安装使用_重启_06

Failed to set locale, defaulting to C.UTF-8

解决办法:
执行命令:dnf install langpacks-en glibc-all-langpacks -y

说明:如果这个命令安装不上的话,是因为第一个问题引起

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部