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 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 scan
配置防火墙和网络:
通过以上步骤和实践,您可以高效地部署和管理 Docker 容器,为应用程序提供可靠和可扩展的运行环境。
原文链接:codingdict.net