使用Docker搭建几大主流关系型数据库
    		       		warning:
    		            这篇文章距离上次修改已过427天,其中的内容可能已经有所变动。
    		        
        		                
                以下是使用Docker搭建几种主流关系型数据库的示例代码。
MySQL
# Dockerfile for MySQL
FROM mysql:5.7
ENV MYSQL_DATABASE db_name
ENV MYSQL_USER user_name
ENV MYSQL_PASSWORD user_password
ENV MYSQL_ROOT_PASSWORD root_password
EXPOSE 3306构建并运行容器:
docker build -t mysql-container .
docker run -d -p 3306:3306 --name mysql-instance mysql-containerPostgreSQL
# Dockerfile for PostgreSQL
FROM postgres:12
ENV POSTGRES_DB db_name
ENV POSTGRES_USER user_name
ENV POSTGRES_PASSWORD user_password
EXPOSE 5432构建并运行容器:
docker build -t postgres-container .
docker run -d -p 5432:5432 --name postgres-instance postgres-containerMongoDB
# Dockerfile for MongoDB
FROM mongo:4.2
ENV MONGO_INITDB_DATABASE db_name
ENV MONGO_INITDB_ROOT_USERNAME user_name
ENV MONGO_INITDB_ROOT_PASSWORD user_password
EXPOSE 27017构建并运行容器:
docker build -t mongodb-container .
docker run -d -p 27017:27017 --name mongodb-instance mongodb-containerSQLite
SQLite不是一个独立的服务,而是嵌入式数据库,通常直接在应用程序中使用。但是,如果你想使用Docker运行一个SQLite容器,可以使用以下方法:
# Dockerfile for SQLite
FROM alpine:latest
RUN apk add --no-cache sqlite
WORKDIR /data
COPY create.sql .
RUN sqlite3 db_name < create.sql
CMD ["sqlite3", "db_name"]create.sql是你的SQL脚本,可以用于初始化数据库。
构建并运行容器:
docker build -t sqlite-container .
docker run -it --name sqlite-instance sqlite-container以上代码提供了使用Docker搭建MySQL、PostgreSQL、MongoDB和SQLite的基本示例。在运行数据库容器时,请确保将环境变量(如用户名、密码等)替换为安全的值,并适当暴露端口以便于外部访问。
评论已关闭