Docker详解

本文详细介绍了Docker的基本组成,包括镜像、容器和仓库,解析了Docker的运行流程和底层原理。接着,列举了Docker的常用命令,如搜索、下载、删除镜像及启动、停止、管理容器等。探讨了Docker安装Nginx的实践,并深入讲解了Docker镜像的概念、加载原理、分层理解及其特点。此外,还涉及Docker网络配置、容器数据卷的使用以及DockerFile的编写和指令,强调了Docker在软件部署和容器化中的重要性。
摘要由CSDN通过智能技术生成

Docker的基本组成

在这里插入图片描述

镜像(image):

docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像==》run==》tomcat01容器(提供容器服务),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。

容器(container):

Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的
启动,停止,删除,基本命令
目前就可以把这个容器理解为就是一个简易 的linux系统

仓库(repository):

仓库就是存放镜像的地方
仓库分为共有仓库和私有仓库
Docker hub (默认是国外的)
阿里云…都有容器服务器(配置镜像加速)

安装Docker

#环境准备 
[root@localhost docker]# uname -r
3.10.0-1160.el7.x86_64
[root@localhost /]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
第1步:卸载旧的版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

第2步:安装需要的安装包
yum install -y yum-utils

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo #官方源,国外,下咋爱素服慢

 yum-config-manager  --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #推荐使用阿里云的源,十分的快

第3步:更新软件包索引
yum makecache fast

第4步:安装docker  docker-ce 社区版 docker-ee 企业版
yum install docker-ce docker-ce-cli containrd.io

第5步:启动docker
systemctl start docker

第6步:检验docker是否启动成功
docker version

在这里插入图片描述

第7步:测试
docker run hello-world

在这里插入图片描述

第8步:查看下载的这个hello-world镜像
docker images

在这里插入图片描述

docker run 的运行流程图

在这里插入图片描述

底层原理

Docker是怎么工作的?
Docker是一个 Client - Server 结构的系统,Docker的守护进程运行主机上,通过Sockets从客户端访问
DockerServer接收到Docker - Client的指令就会执行这个命令
在这里插入图片描述

Docker的常用命令

帮助命令
docker version  #显示docker的版本信息
docker info  #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help  #帮助命令
镜像命令
docker images  查看所有本地的主机上的镜像
[root@localhost ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d1165f221234   3 months ago   13.3kB

# 解释
REPOSITORY  镜像的仓库源
TAG  镜像的标签
IMAGE ID  镜像的id
CREATED  镜像的创建时间
SIZE  镜像的大小

# 可选项
  -a, --all  #列出所有镜像
  -q, --quiet   #只显示镜像id
docker search 搜索镜像
[root@localhost ~]# docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   10949     [OK]       
mariadb                           MariaDB Server is a high performing open sou…   4139      [OK]       
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   813                  [OK]

# 可选项,通过收藏来过滤
  -f, --filter=STARS=3000   -->搜索出来的镜像就是STARS大于3000的
  [root@localhost ~]# docker search mysql --filter=STARS=3000
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   10949     [OK]       
mariadb   MariaDB Server is a high performing open sou…   4139      [OK]    
docker pull 下载镜像
[root@localhost ~]# docker pull mysql
Using default tag: latest

# 指定下载版本
[root@bogon ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
docker rmi 删除镜像
[root@bogon ~]# docker rmi mysql #删除指定的镜像
Untagged: mysql:latest
[root@bogon ~]# docker rmi mysql:5.7
Untagged: mysql:5.7

# 可选项
  -f, --force  #强制删除
  
  [root@bogon ~]# docker rmi -f 镜像id 镜像id  # 删除多个容器
  [root@bogon ~]# docker rmi -f $(docker images -aq) # 删除全部的镜像
容器命令

说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习

docker pull centos
新建容器并启动
[root@bogon ~]# docker run [可选参数] image
# 参数说明
--name="NAME"  容器名字 tomcat01 tomcat02 ,用来区分容器
-d   后台方式运行
-it  使用交互方式运行,进入容器查看内容
-</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值