Docker教程:阮一峰撰写的深入浅出的Docker使用指南。
Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个可移植的容器中,然后发布到任何流行的 Linux 机器或 Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口,下面就来详细介绍 Docker 的使用教程。
Docker 安装
在开始使用 Docker 之前,我们需要在我们的计算机上安装 Docker,安装过程根据你的操作系统会有所不同。
在 Windows 上安装 Docker
1、访问 Docker 官方网站下载 Docker Desktop for Windows。
2、双击下载的安装文件,按照提示完成安装。
在 MacOS 上安装 Docker
1、访问 Docker 官方网站下载 Docker Desktop for Mac。
2、双击下载的 .dmg 文件,拖动 Docker 图标到 Application 文件夹,完成安装。
在 Linux 上安装 Docker
对于基于 Debian 的系统(如 Ubuntu):
sudo apt-get update sudo apt-get install docker-ce
对于基于 RHEL 的系统(如 CentOS):
sudo yum install docker
Docker 基本命令
安装完成后,我们可以开始使用 Docker 的基本命令了。
docker run
docker run
是用于从镜像创建一个新的容器并启动它的命令。
docker run ubuntu /bin/echo 'Hello world'
这个命令会创建一个新的 ubuntu 容器,并在其中运行 /bin/echo 'Hello world'
。
docker ps
docker ps
是用于列出当前运行中的容器的命令。
docker ps
这个命令会显示所有正在运行的容器及其相关信息。
docker stop
docker stop
是用于停止一个运行中的容器的命令。
docker stop container_id
这个命令会停止指定的容器。
Dockerfile
Dockerfile 是一个文本文件,它包含了一系列的指令和参数,用于自动化构建 Docker 镜像。
一个简单的 Dockerfile 示例:
使用官方的 python 运行时作为父镜像 FROM python:3.7-slim 设置工作目录为 /app WORKDIR /app 将当前目录下的所有文件复制到 /app COPY . /app 安装需要的包 RUN pip install --no-cache-dir -r requirements.txt 对外暴露端口 EXPOSE 8000 定义环境变量 ENV NAME World 运行 app.py CMD ["python", "app.py"]
这个 Dockerfile 定义了一个 Python 3.7 的环境,安装了需要的包,然后运行 app.py
。
Docker Compose
Docker Compose 是用于定义和运行多容器 Docker 应用程序的工具,通过 Compose,你可以使用 YAML 文件来配置你的应用程序的服务,使用一个命令就可以创建并启动所有的服务。
一个简单的 docker-compose.yml
文件示例:
version: '3' services: web: build: . ports: "5000:5000" redis: image: "redis:alpine"
这个 docker-compose.yml
文件定义了两个服务:web 和 redis,web 服务使用当前目录下的 Dockerfile 构建,redis 服务使用官方的 redis:alpine 镜像。
你可以通过以下命令启动这两个服务:
docker-compose up
相关问题与解答
Q1: 如何在 Docker 中查看所有的镜像?
A1: 你可以使用 docker images
命令来查看所有的镜像。
Q2: 如何删除一个 Docker 容器?
A2: 你可以使用 docker rm container_id
命令来删除一个容器。
Q3: 如何进入一个正在运行的 Docker 容器?
A3: 你可以使用 docker exec -it container_id /bin/bash
命令来进入一个正在运行的容器。
Q4: 如何保存一个 Docker 容器为新的镜像?
A4: 你可以使用 docker commit container_id new_image_name
命令来保存一个容器为新的镜像。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/298556.html