news 2026/10/6 8:05:50

Docker --- 基础理论以及安装、快速上手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker --- 基础理论以及安装、快速上手

Docker基础理论以及安装

  • 一、什么是Docker
  • 二、安装Docker
    • (1)卸载旧版本
    • (2)搭建 Docker 的仓库
    • (3)安装 Docker 包
    • (4)配置镜像加速源
    • (5)确认 Docker 是否运行
  • 三、快速上手
    • 指令解析

一、什么是Docker

DOcker是一种开源的容器化平台,目的是为了将我们写好的程序以及周边依赖(代码,系统工具,库等),打包成一个标准化的、可移植的容器,然后发布到任何支持Docker的机器上运行,是一个偏向运维方向的工具。
一句话来说就是快速构建,运行,管理应用的工具。

二、安装Docker

本次安装教学通过Ubuntu22.04发行版本进行教学。

(1)卸载旧版本

sudoaptremove$(dpkg --get-selections docker.iodocker-composedocker-compose-v2 docker-doc docker-buildx podman-docker containerd runc|cut-f1)

你的 Linux 发行版可能会提供非官方的 Docker 包,这些包可能会冲突使用了 Docker 提供的官方包。

(2)搭建 Docker 的仓库

# Add Docker's official GPG key: 添加 Docker 的 GPG 密钥sudoaptupdatesudoaptinstallca-certificatescurlsudoinstall-m0755-d/etc/apt/keyringssudocurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg-o/etc/apt/keyrings/docker.ascsudochmoda+r /etc/apt/keyrings/docker.asc# Add the repository to Apt sources: 添加 Docker 仓库到 APT 源sudotee/etc/apt/sources.list.d/docker.sources<<EOF Types: deb URIs: https://download.docker.com/linux/ubuntu Suites:$(./etc/os-release&&echo"${UBUNTU_CODENAME:-$VERSION_CODENAME}")Components: stable Architectures:$(dpkg --print-architecture)Signed-By: /etc/apt/keyrings/docker.asc EOFsudoaptupdate

上述指令是把 Docker 的官方软件仓库添加到你的 Ubuntu 系统里。

Ubuntu 用 GPG 签名来验证软件包是不是真的来自 Docker 官方、有没有被篡改。没有这个密钥,apt 会拒绝从 Docker 仓库安装包(会出现 “NO_PUBKEY” 之类的报错)。

(3)安装 Docker 包

sudoaptinstalldocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

(4)配置镜像加速源

Docker官方的加速源在国外,对于国内用户访问来说速度比较慢,所以配置一下镜像加速源,能提高访问速度,这里使用腾讯云的镜像加速源。

首先在你的Ubuntu机器上执行:

vim/etc/docker/daemon.json

他会创建并通过vim编辑器打开这个daemon.json文件。

再写入下述内容:

{"registry-mirrors":["https://mirror.ccs.tencentyun.com"]}

保存之后重启Docker服务:

sudosystemctl restartdocker

通过下述指令确认镜像加速源是否配置成功:

sudodockerinfo

查看信息中是否包含下面条例,有则配置成功了。

(5)确认 Docker 是否运行

sudosystemctl statusdocker

出现图中running字样即docker正在运行。

若没有运行则输入下面指令进行手动启动:

sudosystemctl startdocker

后续再输入status这个指令确认docker是否正在运行。

三、快速上手

我们以mysql为例,快速上手部署一个镜像。
在部署之前需要了解docker两个核心概念:镜像、容器。

镜像就是指一个只读的、打包好的文件系统快照,里面包含了:
一个精简的操作系统(比如 Debian、Alpine)、应用程序本身(比如 MySQL、Nginx)、应用依赖的库、运行时、环境变量、配置、默认要执行的命令(CMD/ENTRYPOINT),简单点就是一个打包好的,可以直接运行的应用程序,镜像本身不会运行,运行的都是容器。

容器就是指镜像启动后产生的一个运行实例,运行的是容器,而非镜像本身,一个镜像可以拥有多个容器。

执行下面的指令即可快速创建并运行mysql容器:

dockerrun-d\--namemysql\-p3307:3306\-eTZ=Asia/Shanghai\-eMYSQL_ROOT_PASSWORD=你的密码\mysql:8.0

指令执行完毕后,可以输入下面的指令来查看当前docker服务运行的容器:

sudodockerps

会出现下面的信息:

最后也可以通过MySQL可视化工具去连接一下这个mysql容器,来验证是否创建成功容器。

指令解析

-d让容器在后台运行,命令执行完立刻返回终端。--name指定容器的名字,容器名字为唯一标识。-p端口映射,左边是宿主机的端口,右边为容器的端口 因为我Ubuntu本地已经有了MySQL服务,宿主机的端口再设为3306会导致和docker容器的mysql端口访问冲突,所以我这里演示的宿主机端口修改为了3307-e指定容器的环境变量,具体环境变量格式可以在Dockerhub中搜索查看 本次演示的两个环境变量: TZ --- 时区 MYSQL_ROOT_PASSWORD --- mysqlroot的密码
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 8:05:01

『ISOBUS 入门』第 12 节 虚拟终端 VT:对象池、消息流与交互实现

农具不带屏幕之后,界面的所有权发生了转移:农具负责描述「界面上有什么」,终端负责把它渲染出来并把操作者的动作回传。这条路走通了,一台拖拉机才能用一个终端操作不同品牌的农具。 1. 会话是怎么建立起来的 一次完整的会话可以拆成六步,每一步都有对应的消息: 建立工作…

作者头像 李华
网站建设 2026/10/6 8:04:42

Codex 自定义 API 配置不生效?很多人把 model_provider 写错位置了

你明明已经在项目中添加了 .codex/config.toml&#xff0c;也写好了 model_provider、base_url 和模型名&#xff0c;但 Codex 启动后仍然连接原来的服务&#xff0c;甚至继续报 401、404 或 model not found。 这种情况不一定是 API Key 或中转线路出了问题。一个很容易忽略的…

作者头像 李华
网站建设 2026/10/6 8:01:55

【毕业设计】智能儿童书桌控制系统的设计与实现

❤小编介绍&#xff1a;小编所在团队为图灵学术中心&#xff0c;我们专注于Java领域&#xff0c;提供程序设计开发、源码分享、技术指导及定制服务。凭借丰富经验和专业团队&#xff0c;满足客户多样化需求。从精准选题到顺利毕业&#xff0c;我们致力于助力大家的技术成长&…

作者头像 李华
网站建设 2026/10/6 8:00:34

LeetCode 1576: 替换所有的问号(模拟) —— 题解

&#x1f44b; 欢迎阅读 &#x1f3af; 欢迎来到「替换所有的问号」题解之旅&#xff01; 本文将带你从"给问号填上不撞邻居的字母"这一直观场景出发&#xff0c;深入理解贪心 边界防护的巧妙运用&#xff0c;并掌握如何逐个问号试填 26 个字母来构造出合法的最终字…

作者头像 李华
网站建设 2026/10/6 7:59:17

飞控linux系统环境配置

1、CMake 安装&#xff08;1&#xff09;方法1&#xff1a;apt 安装&#xff08;最简单&#xff0c;推荐日常使用&#xff09;sudo apt update sudo apt install -y cmake cmake --version缺点&#xff1a;Ubuntu 20.04 源里的 CMake 版本较旧&#xff08;约 3.16&#xff09;&…

作者头像 李华