应用容器快速上手
使用 Docker 可快速部署各种应用,下面介绍常见应用的容器化部署。
WordPress 部署
Bash
# 启动 MySQL
docker run -d \
--name wordpress-db \
-e MYSQL_ROOT_PASSWORD=db123 \
-e MYSQL_DATABASE=wordpress \
mysql:8.0
# 启动 WordPress
docker run -d \
--name wordpress \
-p 8080:80 \
--link wordpress-db:mysql \
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=db123 \
-e WORDPRESS_DB_NAME=wordpress \
wordpress
# 访问 http://localhost:8080
完整部署(Docker Compose)
YAML
version: '3'
services:
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: db123
MYSQL_DATABASE: wordpress
volumes:
- db-data:/var/lib/mysql
wordpress:
image: wordpress
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: db123
WORDPRESS_DB_NAME: wordpress
depends_on:
- db
volumes:
db-data:
Jenkins 部署
Bash
# 启动 Jenkins
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v /data/jenkins:/var/jenkins_home \
jenkins/jenkins:lts
# 查看初始密码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
# 访问 http://localhost:8080
Jenkins 容器内以 jenkins 用户运行,挂载目录需要修改属主:
sudo chown -R 1000:1000 /data/jenkins
GitLab 部署
Bash
# 启动 GitLab(资源需求较高,建议 4GB+ 内存)
docker run -d \
--name gitlab \
-p 8443:443 \
-p 8080:80 \
-p 2222:22 \
-v /data/gitlab/config:/etc/gitlab \
-v /data/gitlab/logs:/var/log/gitlab \
-v /data/gitlab/data:/var/opt/gitlab \
--restart unless-stopped \
gitlab/gitlab-ce:latest
# 查看初始密码
docker exec gitlab cat /etc/gitlab/initial_root_password
# 访问 http://localhost:8080
Redis 队列系统
Bash
# 部署 Redis 用于 Celery/队列
docker run -d \
--name redis-queue \
-p 6379:6379 \
redis:7 \
redis-server --requirepass queue123
MongoDB 部署
Bash
# 启动 MongoDB
docker run -d \
--name mongo \
-p 27017:27017 \
-v /data/mongo:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin123 \
mongo:6
# 连接
docker exec -it mongo mongosh -u admin -p admin123
应用管理
Bash
# 查看日志
docker logs -f wordpress
# 停止应用
docker stop wordpress
# 删除应用和数据
docker rm -v wordpress
要点总结
- WordPress 需配合 MySQL 使用,设置数据库连接环境变量
- Jenkins 挂载
/var/jenkins_home实现持久化,注意用户权限 - GitLab 资源消耗大,建议 4GB+ 内存,挂载配置/日志/数据
- MongoDB 设置初始管理员用户名和密码
- 生产环境建议使用 Docker Compose 管理多容器应用
📝 发现内容有误?点击此处直接编辑