Docker 容器的部署是将 Docker 镜像运行在目标环境中,以便应用程序能够实际工作。下面是一个详细的 Docker 容器部署指南。
安装 Docker:
准备 Docker 镜像:
docker build
构建镜像。拉取镜像:
docker pull <image_name>:<tag>
运行容器:
docker run
命令启动容器:docker run -d --name <container_name> <image_name>:<tag>
-d
:后台运行容器。--name
:指定容器名称。端口映射:
docker run -d -p <host_port>:<container_port> --name <container_name> <image_name>:<tag>
挂载卷:
docker run -d -v <host_dir>:<container_dir> --name <container_name> <image_name>:<tag>
设置环境变量:
-e
参数设置容器内部的环境变量:docker run -d -e ENV_VAR_NAME=value --name <container_name> <image_name>:<tag>
查看运行中的容器:
docker ps
查看当前运行的容器:docker ps
停止容器:
docker stop
停止运行中的容器:docker stop <container_name>
启动已停止的容器:
docker start
启动已停止的容器:docker start <container_name>
删除容器:
docker rm -f <container_name>
Docker Compose:
docker-compose.yml
文件:version: '3'
services:
web:
image: <image_name>:<tag>
ports:
- "80:80"
volumes:
- ./data:/data
environment:
ENV_VAR_NAME: value
db:
image: postgres:latest
volumes:
- ./db_data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: example
docker-compose up
启动所有服务:docker-compose up -d
Docker Swarm:
docker swarm init
docker stack deploy -c docker-compose.yml <stack_name>
Kubernetes:
deployment.yaml
:apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: <image_name>:<tag>
ports:
- containerPort: 80
kubectl
命令应用配置:kubectl apply -f deployment.yaml
查看容器日志:
docker logs
查看容器输出的日志:docker logs <container_name>
实时查看日志:
-f
选项实时查看日志:docker logs -f <container_name>
监控容器状态:
docker stats
查看容器的资源使用情况:docker stats
保持镜像最新:
docker pull <image_name>:<tag>
扫描漏洞:
docker scan
命令或第三方工具如 Snyk)扫描镜像中的漏洞。配置防火墙和网络:
通过以上步骤和实践,您可以高效地部署和管理 Docker 容器,为应用程序提供可靠和可扩展的运行环境。
原文链接:codingdict.net