Docker是一个基于平台和服务的产品,它使用操作系统级虚拟化技术,以软件包(称为容器)的形式交付软件。容器彼此独立,并捆绑各自的软件、库和配置文件。Docker 采用Go 语言编写。
Docker 有两个版本:Docker CE(社区版)和 Docker EE(企业版)。对于小型项目或者学习,我们可以使用 Docker CE。
在 Ubuntu 上安装 Docker 的操作系统要求
在 Ubuntu 上安装 Docker 之前,我们必须确保系统满足以下要求:
-
它应该支持 Ubuntu 22.04 (TLS)、Ubuntu 20.04 (LTS)、Ubuntu 18.04 (LTS) 等版本
-
系统架构应为 x86_64(64 位)或 arm64
-
Linux 内核版本应为 3.10 或更高版本。这是 Docker 正常运行的必要条件。此内核版本提供了命名空间和 cgroup 等功能。
_优化托管的提示:_
_Hostinger_提供高性能云服务器和_基于 Linux 的 VPS 主机,_非常适合 Docker 环境。这些主机方案可确保您的基础架构满足 Docker 顺畅运行所需的内核版本和资源要求。凭借_全天候支持_和_可扩展的性能_,您可以在专为增长和可靠性量身定制的服务器上高效地部署 Docker 容器_。_
为了实现 Docker 的无缝部署,
例如我的系统配置如下:
在 Ubuntu 上安装 Docker 的步骤
以下是指导您在 Ubuntu 上安装 Docker 的步骤:
步骤 1:使用终端上的以下命令更新软件存储库。
sudo apt update
步骤 2:使用以下命令安装Docker
sudo apt install docker.io -y
步骤3:使用以下命令启用并启动docker服务。
sudo systemctl enable docker --now
步骤4:检查Docker版本。
docker --version
不使用 Sudo 执行 Docker 命令
由于普通用户无权执行docker 命令,我们将收到权限被拒绝的错误。我们需要将用户添加到所需的组。
步骤 1:因此我们需要将Ubuntu用户添加到 docker 组。
sudo usermod -aG docker $USER
或
sudo usermod -aG docker ubuntu
- 以下命令有助于了解当前添加的用户是否已分配给 docker 组:
getent group docker
- 通过运行以下命令刷新组权限以使用更新后的权限:
newgrp docker
步骤2:重启已运行的docker守护进程。重启后,只有更改才会生效。
sudo service docker restart
步骤3:离开当前SSH终端,重新用SSH登录,然后执行。
docker ps
使用 Docker 命令
您需要掌握docker命令才能在docker中更有效地工作,以下是在docker中日常使用的某些命令。
Docker 构建命令
编写完dockerfile后,您需要将dockerfile构建到docker镜像中。该docker镜像将进一步用于运行docker容器。以下是用于构建docker镜像的命令。
- 这里以 Dockerfile 为例:
- 使用以下命令从 Dockerfile 构建 docker 镜像:
docker build -t <Dockerfile 的名称>
```
****例子:****
```bash
docker build -t myimg:latest 。
Docker run 命令
此命令用于从镜像运行容器。docker run 命令是 docker create 和 docker start 命令的组合。它从指定的镜像创建一个新容器并启动该容器。如果指定的 docker 镜像不存在,docker run 命令会拉取该镜像。
$ docker run <image_name>
给出容器的名称
$ docker run --name <container_name> <image_name>
```
****例子:****
```bash
docker run myimg
- 要了解更多 docker 命令,请阅读Docker 命令。
使用 Docker 镜像
如果您是 Docker 开发人员,您可能已经注意到,同时处理多个 Docker 镜像有时会非常繁琐。通过单个命令行管理大量 Docker 镜像是一项非常繁重的任务,并且会耗费大量时间。在本文中,我们将讨论一些重要的 Docker 镜像命令,它们可以简化您的工作。借助这些命令管理镜像将非常容易,并能为您节省大量时间。
以下是一些日常使用的 docker 镜像。
-
列出 Docker 镜像:“docker images”此命令将列出 docker 中可用的所有 docker 镜像。
-
拉取 Docker 镜像:“docker pull <镜像名称>”它将拉取存储在 docker hub 注册表或存储库中的所需镜像。
要了解用于处理 Docker 镜像的更多命令,请参阅“使用 Docker 镜像”。
Docker 网络命令
Docker 网络允许您创建一个由 Docker 容器组成的网络,该网络由一个称为管理器的主节点进行管理。Docker 网络中的容器可以通过共享信息包相互通信。在本文中,我们将讨论一些帮助您入门 Docker 网络的基本命令。要了解有关 Docker 网络的更多信息,请参阅Docker 网络。
- 以下命令用于列出 docker 网络:
docker network ls
- 以下命令用于详细说明docker网络驱动程序:
如何在 Docker 容器中提交更改?
Docker commit命令用于将docker容器的当前状态转换为docker new image。
首先,您需要知道您想要的 docker 镜像的 docker 容器的 ID,然后运行以下命令。
docker commit <container_id> <new_image_name>
提交 Docker 容器的示例
- 首先运行一个docker容器,以下命令有助于运行ubuntu容器:
docker run -dit --name myc1 ubuntu:latest
- 使用容器名称或 ID 提交 docker 容器:
docker commit myc1 mynewimg
- 使用以下命令列出所有图像,验证是否成功创建新图像:
Docker images