Dokcer网络指令
查看指令 : docker network ls
新增指令 : docker network create network-name
新建容器时使用网络: docekr run -d -p xx:xx --name xxx --net network-name xxx:least
| 标识 | 作用 |
|---|---|
| -p | 端口映射关系(宿主机端口:容器内部端口) |
| -d | 分离模式(运行至后台) |
| --name | 容器名称 |
| --net | 内部网络名 |
| xxx | 容器名称 |
| :least | 版本 |
Docker compose
version: '3'
services:
xxx: 【name】
image: 【image】
ports:
- xxx:xxx
environment:
- xxxxx = xxxx
xxx2:
......
restart: always 【重启策略】
构建容器[Docker File]
模拟外部构建环境的指令
# 多阶段构建示例
FROM node:14 AS builder
WORKDIR /build
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /build/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
# 常用的 Python 应用示例
FROM python:3.9-slim
LABEL maintainer="your-email@example.com"
LABEL version="1.0"
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
TZ=Asia/Shanghai \
APP_HOME=/app
WORKDIR ${APP_HOME}
# 安装系统依赖
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
gcc \
python3-dev \
netcat \
&& rm -rf /var/lib/apt/lists/*
# 安装 Python 依赖
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 复制应用代码
COPY . .
# 创建非 root 用户
RUN groupadd -r app && \
useradd -r -g app app && \
chown -R app:app ${APP_HOME}
USER app
EXPOSE 8000
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "app:app"]
打包
docekr build -t [name]:[version]