• 精创网络
  • 精创网络
  • 首页
  • 产品优势
  • 产品价格
  • 产品功能
  • 新闻中心
  • 关于我们
  • 在线客服
  • 登录
  • DDoS防御和CC防御
  • 精创网络云防护,专注于大流量DDoS防御和CC防御。可防止SQL注入,以及XSS等网站安全漏洞的利用。
  • 免费试用
  • 新闻中心
  • 关于我们
  • 资讯动态
  • 帮助文档
  • 白名单保护
  • 常见问题
  • 政策协议
  • 帮助文档
  • 如何在Ubuntu上使用Docker管理容器与镜像
  • 来源:www.jcwlyf.com浏览:15更新:2025-11-18
  • 在当今的软件开发和部署领域,Docker 已经成为了一种不可或缺的工具。它能够帮助开发者将应用程序及其依赖项打包成一个独立的容器,实现快速部署和资源隔离。Ubuntu 作为一种广泛使用的 Linux 发行版,与 Docker 有着很好的兼容性。本文将详细介绍如何在 Ubuntu 上使用 Docker 来管理容器与镜像。

    安装 Docker

    在 Ubuntu 上安装 Docker 可以通过多种方式,这里推荐使用官方的安装脚本。首先,需要更新系统的软件包列表,确保系统是最新的。打开终端,输入以下命令:

    sudo apt update
    sudo apt upgrade

    接着,安装一些必要的依赖包,这些包将帮助系统与 Docker 仓库进行通信。命令如下:

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

    添加 Docker 的官方 GPG 密钥,以确保下载的软件包是来自官方且未被篡改的。使用以下命令:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

    添加 Docker 软件源到系统的软件源列表中。执行以下命令:

    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 引擎:

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

    安装完成后,可以通过以下命令验证 Docker 是否安装成功:

    sudo docker run hello-world

    如果看到输出信息表明 Docker 已经成功运行,那么说明安装过程顺利完成。

    镜像管理

    镜像(Image)是 Docker 的核心概念之一,它是一个只读的模板,包含了运行容器所需的所有文件系统和配置信息。在 Ubuntu 上使用 Docker 管理镜像,首先要了解如何获取镜像。

    拉取镜像

    可以使用 docker pull 命令从 Docker Hub 或其他镜像仓库拉取镜像。例如,要拉取一个最新版本的 Nginx 镜像,可以执行以下命令:

    sudo docker pull nginx

    如果需要指定镜像的版本,可以在镜像名称后面加上冒号和版本号。例如,拉取 Nginx 1.21.6 版本的镜像:

    sudo docker pull nginx:1.21.6

    查看镜像

    使用 docker images 命令可以查看本地已经下载的镜像列表。该命令会显示镜像的仓库名称、标签、镜像 ID、创建时间和大小等信息。示例如下:

    sudo docker images

    删除镜像

    当本地的镜像不再需要时,可以使用 docker rmi 命令删除镜像。需要注意的是,在删除镜像之前,必须确保没有基于该镜像运行的容器。例如,要删除之前拉取的 Nginx 镜像,可以执行以下命令:

    sudo docker rmi nginx

    如果要删除指定版本的镜像,可以使用镜像的标签或 ID。例如:

    sudo docker rmi nginx:1.21.6

    构建镜像

    除了从仓库拉取镜像,还可以根据自己的需求构建自定义的镜像。这需要使用 Dockerfile 来定义镜像的构建规则。以下是一个简单的 Dockerfile 示例,用于构建一个基于 Ubuntu 系统并安装 Python 的镜像:

    FROM ubuntu:20.04
    RUN apt update && apt install -y python3
    CMD ["python3", "--version"]

    将上述内容保存为 Dockerfile,然后在包含该文件的目录下执行以下命令来构建镜像:

    sudo docker build -t my-python-image .

    其中,-t 参数用于指定镜像的标签,. 表示使用当前目录作为构建上下文。

    容器管理

    容器(Container)是镜像的运行实例。在 Ubuntu 上使用 Docker 管理容器,需要掌握容器的创建、启动、停止、删除等操作。

    创建并启动容器

    使用 docker run 命令可以创建并启动一个新的容器。例如,使用之前拉取的 Nginx 镜像创建一个容器:

    sudo docker run -d -p 8080:80 nginx

    其中,-d 参数表示以守护进程模式运行容器,-p 参数用于将容器内部的端口映射到宿主机的端口。上述命令将容器内部的 80 端口映射到宿主机的 8080 端口。

    查看容器

    使用 docker ps 命令可以查看当前正在运行的容器列表。如果要查看所有容器,包括已停止的容器,可以使用 docker ps -a 命令。示例如下:

    sudo docker ps
    sudo docker ps -a

    停止容器

    使用 docker stop 命令可以停止正在运行的容器。需要指定容器的 ID 或名称。例如,停止之前创建的 Nginx 容器:

    sudo docker stop <容器 ID 或名称>

    启动已停止的容器

    使用 docker start 命令可以启动已停止的容器。同样需要指定容器的 ID 或名称。示例如下:

    sudo docker start <容器 ID 或名称>

    删除容器

    使用 docker rm 命令可以删除容器。在删除容器之前,必须确保容器已经停止。例如,删除之前的 Nginx 容器:

    sudo docker rm <容器 ID 或名称>

    进入容器

    使用 docker exec 命令可以进入正在运行的容器内部进行操作。例如,进入一个正在运行的 Ubuntu 容器:

    sudo docker exec -it <容器 ID 或名称> /bin/bash

    其中,-it 参数用于分配一个伪终端并保持标准输入打开,以便可以在容器内部进行交互式操作。

    容器与宿主机之间的数据共享

    在实际应用中,经常需要在容器和宿主机之间共享数据。可以使用 Docker 的数据卷(Volume)来实现这一目的。

    创建数据卷

    使用 docker volume create 命令可以创建一个数据卷。例如:

    sudo docker volume create my-volume

    查看数据卷

    使用 docker volume ls 命令可以查看所有的数据卷。示例如下:

    sudo docker volume ls

    挂载数据卷到容器

    在创建容器时,可以使用 -v 参数将数据卷挂载到容器内部。例如,将之前创建的 my-volume 数据卷挂载到一个新的 Nginx 容器的 /usr/share/nginx/html 目录:

    sudo docker run -d -p 8080:80 -v my-volume:/usr/share/nginx/html nginx

    这样,宿主机和容器之间就可以通过数据卷进行数据共享了。

    通过以上步骤,你已经学会了如何在 Ubuntu 上使用 Docker 管理容器与镜像。掌握这些技能将有助于你更高效地进行软件开发和部署工作。

  • 关于我们
  • 关于我们
  • 服务条款
  • 隐私政策
  • 新闻中心
  • 资讯动态
  • 帮助文档
  • 网站地图
  • 服务指南
  • 购买流程
  • 白名单保护
  • 联系我们
  • QQ咨询:189292897
  • 电话咨询:16725561188
  • 服务时间:7*24小时
  • 电子邮箱:admin@jcwlyf.com
  • 微信咨询
  • Copyright © 2025 All Rights Reserved
  • 精创网络版权所有
  • 皖ICP备2022000252号
  • 皖公网安备34072202000275号