以下是对常见Docker容器的整理总结,涵盖Web服务、数据库、监控工具等典型应用场景,并附关键说明:
docker run -d -p 80:80 --name my-nginx nginx
/etc/nginx/nginx.conf
和静态文件目录。docker run -d -p 8080:80 --name my-apache httpd
docker run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /data/mysql:/var/lib/mysql \
--name mysql mysql:8.0
-v
挂载数据目录。docker run -d -p 6379:6379 \
-v /data/redis:/data \
--name redis redis:alpine
alpine
镜像减少体积。docker run -d -p 3000:3000 \
-v $(pwd):/app \
--name node-app node:14 \
sh -c "cd /app && npm start"
docker run -d -p 8000:8000 \
-v $(pwd):/code \
--name django-app python:3.9 \
sh -c "cd /code && python manage.py runserver 0.0.0.0:8000"
docker run -d -p 9090:9090 \
-v ./prometheus.yml:/etc/prometheus/prometheus.yml \
--name prometheus prom/prometheus
prometheus.yml
配置文件。docker run -d -p 3000:3000 \
--name grafana grafana/grafana
docker run -d -p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
--name portainer portainer/portainer
docker run -d -p 8080:8080 -p 50000:50000 \
-v /var/jenkins_home:/var/jenkins_home \
--name jenkins jenkins/jenkins:lts
docker run -d -p 5672:5672 -p 15672:15672 \
--name rabbitmq rabbitmq:management
15672
端口,默认账号密码guest/guest
。-v
挂载关键数据(如数据库文件、日志)。--memory
、--cpus
限制容器资源。bash
docker network create my-network
docker run --network=my-network ...
mysql:8.0
而非mysql:latest
)。通过组合这些容器,可快速搭建开发/生产环境(如LAMP栈:Linux + Apache + MySQL + PHP)。遇到具体问题时,可进一步检查容器日志:
docker logs -f <container_name>