Docker 是一个开源的容器化平台,可以帮助开发者打包应用及其依赖项到一个可移植的容器中。以下是 Docker 部署的基本步骤和最佳实践:
# 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
# 安装依赖
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 设置稳定版仓库
echo "deb [arch=amd64 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 Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 验证安装
sudo docker run hello-world
# 查看 Docker 版本
docker --version
# 查看 Docker 信息
docker info
# 拉取镜像
docker pull [镜像名]:[标签]
# 运行容器
docker run [选项] [镜像名]
# 列出运行中的容器
docker ps
# 列出所有容器(包括停止的)
docker ps -a
# 停止容器
docker stop [容器ID/名称]
# 启动已停止的容器
docker start [容器ID/名称]
# 删除容器
docker rm [容器ID/名称]
# 删除镜像
docker rmi [镜像ID/名称]
创建一个名为 Dockerfile
的文件(无扩展名):
# 基础镜像
FROM python:3.8-slim
# 设置工作目录
WORKDIR /app
# 复制当前目录内容到容器的工作目录
COPY . /app
# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt
# 暴露端口
EXPOSE 80
# 定义环境变量
ENV NAME World
# 容器启动时运行的命令
CMD ["python", "app.py"]
构建镜像:
docker build -t my-python-app .
创建 docker-compose.yml
文件:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
environment:
FLASK_ENV: development
redis:
image: "redis:alpine"
启动服务:
docker-compose up
sudo
希望这份指南能帮助你顺利部署 Docker 应用!如需更具体的帮助,请提供你的具体应用场景和需求。