codesignal/ubuntu-base本镜像基于Ubuntu 20.04构建,是一个集成多种开发、运行时及工具链的基础容器。通过预装Node.js、数据库服务、版本控制工具等核心组件,为多环境开发、测试和部署提供统一的底层支持,简化环境配置流程并提升一致性。
拉取镜像
从镜像仓库拉取(假设镜像标签为base-ubuntu-dev:latest):
bashdocker pull base-ubuntu-dev:latest
启动容器
根据需求配置端口映射、数据卷及环境变量:
bashdocker run -d \ --name dev-base-container \ -p 3306:3306 \ # MySQL默认端口 -p 27017:27017 \ # MongoDB默认端口 -p 5432:5432 \ # PostgreSQL默认端口 -v ./project:/workspace \ # 挂载开发目录 -v mysql-data:/var/lib/mysql \ # MySQL数据持久化 -v mongodb-data:/data/db \ # MongoDB数据持久化 -e MYSQL_ROOT_PASSWORD=your_mysql_pw \ # MySQL根密码 -e POSTGRES_PASSWORD=your_postgres_pw \ # PostgreSQL密码 -e NODE_VERSION=18.18.0 \ # 指定Node.js版本 base-ubuntu-dev:latest
环境变量
MYSQL_ROOT_PASSWORD:必填,设置MySQL root用户密码(未设置时容器启动失败)。POSTGRES_PASSWORD:必填,设置PostgreSQL默认用户(postgres)密码。NODE_VERSION:可选,通过NVM指定Node.js版本(默认安装最新LTS版本)。数据持久化
建议为数据库服务挂载独立数据卷,避免容器重启导致数据丢失,如示例中的mysql-data、mongodb-data。
以下为多服务协同的docker-compose.yml示例:
yamlversion: '3.8' services: base-dev: image: base-ubuntu-dev:latest container_name: multi-service-dev-env ports: - "3306:3306" # MySQL - "27017:27017" # MongoDB - "5432:5432" # PostgreSQL - "8080:8080" # 预留应用端口 volumes: - ./code:/workspace # 开发代码目录 - mysql-data:/var/lib/mysql - mongodb-data:/data/db - postgres-data:/var/lib/postgresql/data environment: - MYSQL_ROOT_PASSWORD=dev_mysql_2024 - POSTGRES_PASSWORD=dev_postgres_2024 - NODE_VERSION=20.10.0 restart: unless-stopped volumes: mysql-data: mongodb-data: postgres-data:
启动命令:
bashdocker-compose up -d
容器启动后,可通过以下命令验证组件状态:
bash# 检查Node版本 docker exec -it multi-service-dev-env node -v # 验证MySQL连接 docker exec -it multi-service-dev-env mysql -u root -p # 验证MongoDB版本 docker exec -it multi-service-dev-env mongosh --eval "db.version()"



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务