安装docker 并搭建出一颗爱心树

简介: Docker是Go语言编写的开源容器运行时软件,遵循Apache2.0协议,提供应用封装和跨平台运行能力,灵感来自集装箱。主要组件包括镜像(静态模板)、容器(运行时实例)和仓库(镜像存储库)。最大公开仓库是Docker Hub,国内有阿里、网易等公开仓库。在Redhat 9环境下,安装Docker涉及配置阿里云仓库、安装yum-utils、添加仓库、安装Docker软件包、设置镜像加速、拉取Nginx镜像并创建运行容器,实现端口映射和持久化存储。

1、docker介绍

Docker 是⼀个开源的容器运⾏时软件(容器运⾏时是负责运⾏容器的软件),基于 Go 语 ⾔编写,并遵从 Apache2.0 协议开源。

Docker可以让开发者打包⾃⼰的应⽤以及依赖到⼀个轻量的容器中,然后发布到任何流⾏的 Linux系统上(docker主要理念:⼀次封装随处运⾏)

Docker的思想来源于集装箱,让容器与容器之间相互隔离,与系统相互隔离提⾼程序之间的 安全,更重要的是容器性能开销极低

docker官⽹:www.docker.com

Docker 官⽅博客: Blog | Docker

2、Docker组成部分

镜像(images):⽤来创建容器的模板(静态⽂件),⼀个镜像可以创建多个容器(容器动 态)

容器(container): 程序的载体,程序运⾏在容器中,每个容器相互隔离,互不影响,但可 以相互通讯

仓库(Repository):集中存放镜像的场所,仓库分为公开仓库(public)和私有仓库 (private)两种

最⼤的公开仓库为docker hub:https://hub.docker.com

国内的公开仓库包括:阿⾥、⽹易、中科⼤等

环境:

Redhat 9

步骤:

安装docker之前 先配置阿里云仓库

安装yum 工具包

[root@admin ~]# yum -y install  yum-utils.noarch 
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

AppStream                                                                                                                                             3.1 MB/s | 3.2 kB     00:00    
BaseOS                                                                                                                                                2.7 MB/s | 2.7 kB     00:00    
依赖关系解决。
======================================================================================================================================================================================
 软件包                                      架构                                     版本                                             仓库                                      大小
======================================================================================================================================================================================
安装:
 yum-utils                                   noarch                                   4.3.0-5.el9_2                                    BaseOS                                    45 k

事务概要
======================================================================================================================================================================================
安装  1 软件包

总计:45 k
安装大小:23 k
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                       1/1 
  安装    : yum-utils-4.3.0-5.el9_2.noarch                                                                                                                                        1/1 
  运行脚本: yum-utils-4.3.0-5.el9_2.noarch                                                                                                                                        1/1 
  验证    : yum-utils-4.3.0-5.el9_2.noarch                                                                                                                                        1/1 
已更新安装的产品。

已安装:
  yum-utils-4.3.0-5.el9_2.noarch                                                                                                                                                      

完毕!

增加阿里云仓库

[root@admin ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

添加仓库自:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@admin ~]# cd /etc/yum.repos.d/
[root@admin yum.repos.d]# ls
docker-ce.repo  local.repo  redhat.repo
[root@admin ~]# yum clean all && yum makecache 
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

20 个文件已删除
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

Docker CE Stable - x86_64                                                                                                                              62 kB/s |  41 kB     00:00    
AppStream                                                                                                                                             211 MB/s | 6.3 MB     00:00    
BaseOS                                                                                                                                                220 MB/s | 1.7 MB     00:00    
元数据缓存已建立。
[root@admin ~]#

安装docker软件包


[root@admin ~]# yum -y install  docker-*
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:52:06 前,执行于 2024年03月29日 星期五 19时28分58秒。
软件包 docker-buildx-plugin-0.13.1-1.el9.x86_64 已安装。
软件包 docker-ce-3:26.0.0-1.el9.x86_64 已安装。
软件包 docker-ce-cli-1:26.0.0-1.el9.x86_64 已安装。
软件包 docker-ce-rootless-extras-26.0.0-1.el9.x86_64 已安装。
软件包 docker-compose-plugin-2.25.0-1.el9.x86_64 已安装。
软件包 docker-scan-plugin-0.23.0-3.el9.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
[root@admin ~]#

配置docker镜像加速 直接粘贴即可

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://7f40piyw.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

拉取nginx 镜像

[root@admin ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Downloading [==========================>                        ]  16.72MB/31.36MB
a9edb18cadd1: Downloading [=================================>                 ]  16.76MB/25.35MB
589b7251471a: Download complete 
186b1aaa4aa6: Download complete 
b4df32aa5a72: Download complete 
a0bcbecc962e: Download complete 
[root@admin ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    605c77e624dd   2 years ago   141MB
[root@admin ~]#

完成容器的创建 配置端口映射然后挂载进行持久化存储

创建目录添加一个index.html文件修该内容

vim编辑文件添加html代码

[root@admin ~]# mkdir  /docker/www/ -p
[root@admin www]# ls
index.html

创建容器


[root@admin ~]# docker run -itd --name=nginx -p 80:80 -v /docker/www/;/usr/share/nginx/html nginx:latest 
c89e5b4847dd7cade7276e5c9ef03acd71ce1d77ed7c4388e6e1fd715ef53072
[root@admin ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS          PORTS                               NAMES
c89e5b4847dd   nginx:latest   "/docker-entrypoint.…"   13 seconds ago   Up 11 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx
[root@admin ~]#

查看端口

[root@admin ~]# netstat  -anltp | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      87317/docker-proxy  
tcp6       0      0 :::80                   :::*                    LISTEN      87322/docker-proxy  
[root@admin ~]#

浏览器测试访问web页面
image.png

目录
相关文章
|
4月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
2月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
329 3
docker 安装 Postgres 17.6
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
317 5
|
1月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
318 2
|
5月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
615 4
|
4月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
1606 0
|
5月前
|
Linux iOS开发 Docker
MyEMS开源系统安装之Linux/macOS上的DOcker
本指南详细介绍了如何在Linux/macOS上使用Docker部署MyEMS系统。主要内容包括:前置条件(如安装Docker、npm和MySQL),以及分步骤部署各个组件(如myems-api、myems-admin、myems-modbus-tcp等)。每个步骤涵盖源代码复制、环境配置、镜像构建、容器运行及日志管理等操作,并提供了多平台构建的支持。最后,指南还说明了默认端口和登录凭据,帮助用户快速启动并访问MyEMS的管理界面和Web界面。
183 1