当前位置: 首页 > news >正文

Docker入门篇--从安装到使用

一、Docker 基础知识

(一)Docker 是什么

  • 定义 :Docker 是一个开源的应用容器引擎(容器的管理工具),是目前应用范围最广的容器引擎之一。

  • 容器引擎 : Docker、 podman、containerd 等,docker 是目前市面上应用范围最广的一种容器引擎,以易用性和丰富的生态系统受到广泛青睐。

(二)容器的概念

容器是一种轻量级的虚拟化技术,由应用运行环境、容器基础镜像组成。

(三)Docker 与容器的关系

Docker 是实现容器的工具,即容器引擎,利用它可创建、部署和运行容器,驱动容器运行。

(四)容器与虚拟机的对比

对比维度容器虚拟机
启动速度快,只需打包操作系统基础文件、库文件及应用程序和依赖慢,需加载完整的操作系统包括内核
运行性能接近原生,直接运行在物理操作系统上有损失,因虚拟化层虚拟硬件产生开销
磁盘占用MB 级别,仅含系统启动必要组件和程序依赖GB 级别,是完整的操作系统
数量同样服务器资源可运行更多容器运行数量受限于资源开销
隔离性进程级别隔离,多个容器共用宿主机操作系统内核,隔离不彻底操作系统级别隔离,隔离性更好
封装速度快,只需封装基础文件、库文件等慢,需包含整个操作系统

二、Docker 的安装(以 Ubuntu 系统为例)

(一)安装前提

  • 更新系统

    • sudo apt update

    • sudo apt upgrade -y

  • 确认 Ubuntu 版本

    • lsb_release -a

  • 安装必要依赖

    • sudo apt install apt-transport-https ca-certificates curl software-properties-common

(二)添加 Docker 官方 GPG 密钥及配置源

  • 添加 GPG 密钥

    • sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

  • 在安装密钥出现错误时:

    • wget https://download.docker.com/linux/ubuntu/gpg -O docker.gpg

    • sudo mv docker.gpg /usr/share/keyrings/docker-archive-keyring.gpg

(三)安装 Docker CE

  • 更新 APT 包索引

    • sudo apt update

  • 安装 Docker CE

    • sudo apt install docker-ce

  • 安装失败的解决方法(可选阿里云镜像源)

    • 安装阿里云 GPG 证书

      • curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

    • 添加阿里云 Docker 源

      • cd /etc/apt/sources.list.d

      • sudo touch docker.list

      • sudo chmod 666 docker.list

      • sudo echo "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" > docker.list

    • 更新软件源并升级

      • sudo apt-get update && sudo apt-get upgrade

    • 安装最新 Docker

      • sudo apt install docker-ce docker-ce-cli containerd.io

    • 查看docker状态
      • systemctl status docker

(四)Docker 安装后的操作

  • 验证安装成功

    • sudo systemctl status docker

  • 启用 Docker 服务(开机自启)

    • sudo systemctl enable docker

    • 手动启动:sudo systemctl start docker

    • 查看服务状态是否为 enabled (设置成功):sudo systemctl is-enabled docker

  • 卸载 Docker

    • sudo apt remove docker-ce

    • sudo apt purge docker-ce

    • sudo rm -rf /var/lib/docker

三、Docker 容器的基本操作

(一)查看容器

  • 查看正在运行的容器 :docker ps

  • 查看所有状态的容器 :docker ps -a

显示字段

说明

CONTAINER ID

容器的唯一标识符(ID)

IMAGE

容器所使用的镜像

COMMAND

启动容器时执行的命令

CREATED

容器的创建时间

STATUS

容器的当前状态(如运行中、已停止等)

PORTS

容器的端口映射信息

NAMES

容器的名称(通常由系统自动生成)

(二)其他常用命令

操作命令说明
docker images查看本地已有的镜像
docker rm -f [容器 ID 或名称]删除容器
docker exec -it [容器名] bash进入容器(打开容器终端界面)
docker rmi [镜像 ID]删除镜像
netstat -lnt查看端口
hostname -I查看服务器 IP
docker restart [容器 id 或名称]重启容器
docker stop [容器 id]停止依赖该镜像的容器
docker start [容器名或 id]启动容器

四、容器内数据持久化存储

  • 通过目录挂载实现,命令示例 :docker run -it --name nginx_test -p 8080:80 -v /data/nginx:/opt/nginx/html nginx
  • 原理 :容器启动时,通过 -v 参数将 Docker 主机上的目录挂载到容器里,建立宿主机目录与容器目录的映射关系,使容器内数据可持久化存储在宿主机上。

五、Docker 镜像的创建

(一)使用 Dockerfile 创建

  • Dockerfile 文件:用于创建镜像
Dockerfile 文件内容及指令说明作用
FROM拉取基础镜像
LABEL设置作者信息
WORKDIR设置工作目录
ADD将安装包传到工作目录
COPY复制代码到工作目录
RUN安装依赖
CMD指定启动镜像时运行的默认命令

  • 构建镜像命令 :docker build -t [镜像名称] [Dockerfile 所在目录],其中 -t 指定镜像名称。

六、Docker-compose 介绍

(一)是什么

Docker-compose 是一个容器编排工具,能在单台 Linux 服务器上运行多个 Docker 容器,通过 YAML 文件(默认名称 docker-compose.yml)配置所有需运行的 Docker 容器。

(二)安装

  • 安装命令(以下几种方式可选)

    • sudo curl -L "https://github.com/docker/compose/releases/download/2.6.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    • curl -L https://get.daocloud.io/docker/compose/releases/download/v2.6.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

  • 授权

    • chmod +x /usr/local/bin/docker-compose

  • 创建软链(若在任意目录输入 docker-compose 提示找不到命令时执行)

    • ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

  • 查看版本

    • docker-compose -v

(三)使用

  • 创建 docker-compose.yml 文件

    • 以 vi 编辑器为例 :vi docker-compose.yml

字段名说明
version指定 Compose 文件版本
services定义要启动的服务
nginx、redis服务名称,代表容器
image指定服务使用的镜像
container_name指定容器的名称
ports映射宿主机与容器的端口
volume挂载数据的宿主机目录
networks定义网络
hosti-network创建网络的名称
config指定网站的配置

  • 运行

    • 在 docker-compose.yml 文件所在目录执行 :docker-compose up -d,其中 up 表示运行,-d 表示后台运行。

  • 其他操作命令

    • 查看运行中的容器(需在 docker-compose.yml 文件头目录下):docker-compose ps

    • 停止容器而不删除 :docker-compose stop

    • 停止并删除正在运行的容器 :docker-compose down

    • 启动容器 :docker-compose start

    • 重启容器 :docker-compose restart

    • 卸载 :sudo rm /usr/local/bin/docker-compose

相关文章:

  • 回调接口模式
  • Docker|简单入门
  • Android自动化AirScript
  • Appium+python自动化(二十)-- Monkey日志
  • ATM 模拟器 Golang 程序--示例
  • 油烟净化设备安装规范
  • 基于SpringBoot的校园网上求职系统设计与实现
  • 双系统(win+linux)根目录扩容(不掉GPU驱动)
  • 【leetcode】226. 翻转二叉树
  • 一分钟了解MCP
  • 无人机安防系统是什么?主流无人机安防平台有哪些?
  • iOS App上线前的安全防线:项目后期如何用Ipa Guard与其他工具完成高效混淆部署
  • @RequestBody和@ResponseBody注解的作用是什么
  • 告别手动做PPT!4款AI工具实现自动化生成
  • 使用 VLC Media Player 轻松提取视频中的音频文件
  • Python 实现 Web 请求与响应
  • AI 工具打造专业级 PPT 配图:从文字到视觉的高效转化指南
  • 关键领域软件测试新范式:如何在安全合规前提下提升效率?
  • 岗位竞聘竞选报告个人简历PPT模版分享
  • xhtml2pdf中文屏幕溢出问题
  • 外贸公司的网站建设模板下载/江北seo页面优化公司
  • 关岭网站建设/免费推广的途径与原因
  • 中医风格网站模板/如何制作网址链接
  • 公司的网站建设 交给谁做更好些/千锋教育学费
  • 怎么自己在百度上做网站/优化排名
  • 手机网站建设 cms/发帖推广哪个平台好