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镜像加速 直接粘贴即可

阿里云镜像地址配置镜像加速器_容器镜像服务(ACR)-阿里云帮助中心 (aliyun.com)

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页面

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐