Docker基础(二)
发布人:shili8
发布时间:2024-12-27 06:31
阅读次数:0
**Docker 基础 (二)**在上一篇文章中,我们已经了解了 Docker 的基本概念、安装和配置。今天我们将继续讨论 Docker 的一些重要特性和使用方法。
###1. Docker 镜像Docker 镜像是 Docker 中最基础的概念之一,它代表了一个完整的操作系统环境,包含了所有必要的软件包和依赖项。在 Docker 中,每个容器都是基于一个镜像创建的。
####1.1 创建镜像我们可以使用 `docker build` 命令来创建一个新的镜像。例如,我们可以创建一个基于 Ubuntu 的镜像:
bash# 首先,确保你有一个Dockerfile文件$ cat DockerfileFROM ubuntu:latestRUN apt-get update && apt-get install -y nginx# 然后,使用docker build命令来创建镜像$ docker build -t my-ubuntu .
在上面的例子中,我们首先定义了一个 `Dockerfile` 文件,该文件指定了我们想要基于 Ubuntu 最新版本(latest)创建一个新的镜像。然后,我们使用 `docker build` 命令来创建这个镜像,并将其命名为 `my-ubuntu`。
####1.2 列出镜像要列出所有本地的 Docker 镜像,可以使用 `docker images` 命令:
bash$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEmy-ubuntu latest1234567890abcdef10 minutes ago1.23GB
####1.3 删除镜像要删除一个 Docker 镜像,可以使用 `docker rmi` 命令:
bash$ docker rmi my-ubuntu:latestUntagged: my-ubuntu:latestDeleted: sha256:1234567890abcdef (size=0K)
###2. Docker 容器Docker 容器是基于一个镜像创建的轻量级操作系统环境。每个容器都是独立的,并且可以在同一台机器上运行多个容器。
####2.1 创建容器我们可以使用 `docker run` 命令来创建一个新的容器。例如,我们可以创建一个基于 Ubuntu 的容器:
bash$ docker run -it --name my-ubuntu ubuntu:latest /bin/bash
在上面的例子中,我们首先指定了容器的名称为 `my-ubuntu`,然后指定了镜像名称为 `ubuntu:latest`。最后,我们使用 `-it` 参数来开启一个交互式终端,并且使用 `/bin/bash` 来启动 Bash shell。
####2.2 列出容器要列出所有正在运行的 Docker 容器,可以使用 `docker ps` 命令:
bash$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES1234567890abcdef my-ubuntu "/bin/bash"10 minutes ago Up10 minutes (healthy)80/tcp my-ubuntu
####2.3 删除容器要删除一个 Docker 容器,可以使用 `docker rm` 命令:
bash$ docker rm my-ubuntumy-ubuntu
###3. Docker 卷Docker 卷是用于共享数据的特定目录。每个卷都是独立的,并且可以在多个容器之间共享。
####3.1 创建卷我们可以使用 `docker volume` 命令来创建一个新的卷:
bash$ docker volume create my-data
####3.2 列出卷要列出所有 Docker 卷,可以使用 `docker volume ls` 命令:
bash$ docker volume lsDRIVER VOLUME NAMElocal my-data
####3.3 删除卷要删除一个 Docker 卷,可以使用 `docker volume rm` 命令:
bash$ docker volume rm my-datamy-data
###4. Docker 网络Docker 网络是用于容器之间通信的特定网络。每个网络都是独立的,并且可以在多个容器之间共享。
####4.1 创建网络我们可以使用 `docker network` 命令来创建一个新的网络:
bash$ docker network create my-net
####4.2 列出网络要列出所有 Docker 网络,可以使用 `docker network ls` 命令:
bash$ docker network lsNETWORK ID NAME DRIVER SCOPE1234567890abcdef my-net bridge local
####4.3 删除网络要删除一个 Docker 网络,可以使用 `docker network rm` 命令:
bash$ docker network rm my-netmy-net
###5. Docker ComposeDocker Compose 是用于定义和运行多个容器应用的工具。它允许我们定义一个 `docker-compose.yml` 文件来指定容器之间的依赖关系。
####5.1 创建 Compose 文件我们可以使用文本编辑器创建一个 `docker-compose.yml` 文件:
ymlversion: '3' services: web: build: . ports: - "80:80" depends_on: - db db: image: postgres
####5.2 启动 Compose 应用我们可以使用 `docker-compose up` 命令来启动 Compose 应用:
bash$ docker-compose up
####5.3 停止 Compose 应用我们可以使用 `docker-compose down` 命令来停止 Compose 应用:
bash$ docker-compose down
以上就是 Docker 基础 (二) 的内容。希望通过这些例子和代码示例,你能够更好地理解 Docker 的基本概念和使用方法。