Docker配置与使用指南
目录:
-
简介
-
安装Docker
-
基本命令
-
镜像管理
-
容器管理
-
数据卷管理
-
网络管理
-
Dockerfile编写
-
示例代码
-
简介
Docker是一个开源的应用容器引擎,可以让开发者将应用及其依赖包打包到一个轻量级的、可移植的容器中,然后发布到任何支持Docker的平台上。Docker可以简化开发、部署和运行应用程序的过程。
-
安装Docker
在不同的操作系统上,安装Docker的方法略有不同。以下是在Ubuntu系统上安装Docker的方法:
bash
# 更新软件包列表
sudo apt-get update
# 安装Docker
sudo apt-get install docker-ce
# 启动Docker服务
sudo systemctl start docker
# 设置Docker开机自启
sudo systemctl enable docker
- 基本命令
- 拉取镜像:
docker pull [镜像名]
- 查看本地镜像:
docker images
- 运行容器:
docker run [镜像名]
- 查看运行中的容器:
docker ps
- 查看所有容器(包括已停止的):
docker ps -a
- 停止容器:
docker stop [容器ID]
- 删除容器:
docker rm [容器ID]
- 删除镜像:
docker rmi [镜像ID]
-
镜像管理
可以使用
docker pull
命令从Docker Hub拉取公共镜像,也可以使用docker build
命令从Dockerfile构建镜像。 -
容器管理
可以使用
docker run
命令创建并启动一个容器,使用docker exec
命令在运行中的容器中执行命令,使用docker logs
命令查看容器的日志。 -
数据卷管理
数据卷是Docker容器中的一个特殊目录,可以用来持久化容器的数据。可以使用
docker run -v [宿主机目录]:[容器目录] [镜像名]
命令将宿主机的目录挂载到容器中。 -
网络管理
Docker提供了多种网络驱动,可以使用
docker network create
命令创建自定义网络,使用docker network ls
命令查看所有网络。 -
Dockerfile编写
Dockerfile是一个文本文件,包含了一组用户可以调用docker客户端执行的命令。以下是一个简单的Dockerfile示例:
Dockerfile
# 使用官方的Python基础镜像
FROM python:3.7-slim
# 设置工作目录
WORKDIR /app
# 将当前目录下的文件复制到容器的/app目录
ADD . /app
# 安装依赖
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# 暴露端口
EXPOSE 80
# 定义环境变量
ENV NAME World
# 运行app.py
CMD ["python", "app.py"]
- 示例代码
以下是一个使用Docker部署Python Web应用的示例:
首先,创建一个名为app.py
的文件,内容如下:
python
from flask import Flask
import os
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, {}!'.format(os.environ['NAME'])
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80)
接下来,创建一个名为requirements.txt
的文件,内容如下:
Flask==1.1.2
然后,创建一个名为Dockerfile
的文件,内容如第8节所示。
最后,使用以下命令构建和运行Docker容器:
bash
# 构建镜像
docker build -t my-python-app .
# 运行容器
docker run -d -p 80:80 my-python-app
现在,访问http://localhost
,你将看到来自Docker容器的响应。