Ubuntu22.04安装最新版docker

Docker介绍


Docker 是一个开源的平台,它利用了Linux内核的特性(如命名空间和控制组)来创建一种称为容器的技术。容器是一种轻量级、可移植的软件包,它包含了运行应用程序所需的一切:代码、运行时环境、系统工具、库以及设置。这使得应用程序可以在几乎任何环境中一致地运行,无论是开发人员的笔记本电脑、物理服务器、虚拟机还是云环境中。

docker概念

容器

容器是 Docker 的核心组成部分。它们是独立的、可移植的软件包,里面包含了应用程序及其所有依赖项。容器在隔离的环境中运行,但是比传统的虚拟机更轻量,启动速度更快。

镜像 (Images)

镜像是用来创建容器的只读模板。镜像通常基于一个基础镜像,并且可以包含软件、配置文件和其他必要的资源。镜像可以被分发和共享,开发者可以从公共或私有的仓库中拉取镜像来使用。

仓库 (Repositories)

Docker Hub 和其他类似的仓库服务允许用户上传和下载镜像。这些仓库可以是公开的,也可以是私有的,为团队提供了一个协作和分享镜像的方式。

Dockerfile

Dockerfile 是一个文本文件,其中包含了用于构建镜像的一系列指令。通过这个文件,你可以定义应用程序的运行环境,包括安装哪些软件包、复制哪些文件、暴露哪些端口等。

Docker Compose

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件,你可以配置应用程序的服务,然后使用一个命令即可启动所有的服务。

网络 (Networking)

Docker 提供了多种网络模式来让容器之间或者容器与外部世界通信。例如,bridge 网络可以让同一主机上的容器相互通信,而 host 模式则使容器使用主机的网络栈。

卷 (Volumes)

卷是用来持久化数据的一种机制。即使容器被删除,存储在卷中的数据仍然会保留。这对于数据库或者其他需要保存状态的应用程序特别有用。

安装dokcer

建议root用户安装,否则每条命令前面都要加上sudo

  1. 在安装之前,需要卸载冲突的软件包,使用以下命令卸载
    for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
  2. 设置 Docker 的 apt 存储库

    海外环境或者能够访问docker的机器
     
    # 允许 apt 通过 HTTPS 使用仓库
    apt install \
      apt-transport-https \
      ca-certificates \
      curl \
      software-properties-common
    # 添加稳定版仓库密钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    # 设置 Docker 稳定版仓库
    add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
    
    

    国内环境,不能访问docker的机器要用国内镜像源

    # 添加仓库密钥
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
    # 添加apt仓库源
    add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    
  3. 安装docker
    # 更新软件源
    apt update
    # 安装 ps:如果只使用docker拉取镜像功能可以只安装docker-ce docker-ce-cli containerd.io即可,以下为完整功能包
    apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
  4. 启动
    # 启动
    systemctl start docker.service
    # 设置为开机自启
    systemctl enable docker.service
    # 停止
    systemctl stop docker.service
    # 关闭开机自启
    systemctl disable docker.service

 运行nginx容器

配置加速器

国内环境无法直接访问docker官方仓库,因此需要配置加速器,截止24年12月4日,收集到的网络上的docker加速器如下:

1、https://docker.1panel.live

或者使用私人加速(后续会介绍阿里云和腾讯云个人镜像加速服务)

编辑或创建 /etc/docker/daemon.json 文件

vim /etc/docker/daemon.json
# 粘贴以下内容
{
  "registry-mirrors": ["https://docker.1panel.live"]
}

 重启docker

systemctl restart docker

拉取nginx镜像

# 如果不加版本号默认拉取最新的
docker pull nginx:1.26.1

启动容器 

docker run --name nginx-server1 -d -p 80:80 nginx:1.26.1
#参数解释
# --name nginx-server1:给容器命名为 "nginx-server1"。
# -d:以后台模式运行容器。
# -p 80:80:将主机的端口 80 映射到容器的端口 80。当访问服务器 IP 地址时,请求会被转发到运行在容器中的 Nginx 服务。

浏览器访问虚拟机ip测试 

如果要进入容器修改nginx首页或者配置,可以使用以下命令

# 进入容器终端 使用bash命令
docker exec -it nginx-server1 /bin/bash
# 修改配置
vi /etc/nginx/conf.d/default.conf
# 修改首页
vi /usr/share/nginx/html/index.html
# 退出容器终端
exit

### 安装 DockerDocker Compose #### 卸载旧版本软件 为了确保新安装Docker 不会与之前的版本冲突,在开始之前应该先移除任何已有的 Docker 版本。这可以通过运行以下命令来完成: ```bash sudo apt-get remove docker docker-engine docker.io containerd runc ``` 此操作将会清理掉系统中存在的旧版组件[^2]。 #### 更新APT包索引并安装必要依赖项 接着更新 APT 包索引,并安装一些必要的工具以便后续通过 `apt` 使用 HTTPS 方式下载仓库中的文件: ```bash sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release ``` 这些步骤有助于准备系统的环境,使其能够顺利获取最新的 Docker 发布资源。 #### 添加官方 GPG 密钥和稳定版源地址 为了让系统信任来自 Docker 的发布渠道,需添加 Docker 维护团队提供的 GPG 密钥至本地密钥环内;之后再配置用于访问 Docker 镜像库的 `/etc/apt/sources.list.d/docker.list` 文件指向官方稳定的分支路径: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 上述过程完成后即可继续下一步骤。 #### 正式安装 Docker Engine 现在可以正式安装 Docker 引擎了。执行如下指令以安装最新稳定版的 Docker CE (Community Edition): ```bash sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 至此,Docker 已经成功部署到了 Ubuntu 22.04 上面。 #### 设置非 Root 用户权限 默认情况下仅允许超级管理员(root)或具有 Sudo 权限的人才能调用 Docker API 接口。如果希望普通账户也能正常使用,则需要将其加入名为 “docker”的特殊用户组里去: ```bash sudo usermod -aG docker $USER newgrp docker ``` 这里 `$USER` 是一个环境变量表示当前登录者的名称。另外需要注意的是更改生效前可能还需要重新启动一次计算机或者注销重登才行[^3]。 #### 下载安装 Docker Compose 对于想要简化多容器应用管理的人来说,安装 Docker Compose 就显得尤为重要。下面给出了一种基于 GitHub Release 页面的手动方式来进行安装: ```bash COMPOSE_VERSION=`git ls-remote https://github.com/docker/compose | grep refs/tags | grep -oP "[0-9]+\.[0-9][0-9]\.[0-9]+" | tail -n 1` sudo curl -L "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 这段脚本首先查询了 GitLab 中有关于 Docker Compose 所有标签的信息,从中提取出最高版本号作为目标版本进行下载。最后一步则是赋予可执行属性给刚刚放置好的二进制文件: ```bash sudo chmod +x /usr/local/bin/docker-compose ``` 这样就完成了整个 Docker Compose 的安装流程[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值