docker Dockerfile学习---构建mongodb环境

1、创建项目目录并上传包

mkdir centos_mongodb
cd centos_mongodb

tar -zxvf mongodb-linux-x86_64-4.0.11.tgz

 

2、编辑配置文件

vi mongodb.conf 
dbpath = /data/usr/mongodb/data
logpath = /data/usr/mongodb/logs/mongodb.log
port = 27017
fork = false
bind_ip=0.0.0.0
auth = true

 

3、编辑Dockerfile

FROM centos:latest
MAINTAINER xiaozhou (xiaozhou@docker.com)

LABEL Discription="基于centos的mongodb镜像" version="1.0"

RUN mkdir -p /data/usr

ADD mongodb-linux-x86_64-4.0.11 /data/usr/mongodb

RUN mkdir /data/usr/mongodb/{data,logs}

ENV PATH /data/usr/mongodb/bin:$PATH

EXPOSE 27017

WORKDIR /data/usr/mongodb/bin/
COPY mongodb.conf .
CMD ["mongod","-f", "mongodb.conf"]
View Code

 

4、创建镜像容器

docker build -t centos:mongodb .

mkdir -p /data/mongodb/{data,logs}

docker run --name mongodb -d -p 27017:27017 -v /data/mongodb/data/:/data/usr/mongodb/data/ -v /data/mongodb/logs/:/data/usr/mongodb/logs/ -it centos:mongodb

 

转载于:https://www.cnblogs.com/xiaoxiaozhou/p/11316905.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我理解了你的问题。 首先,我需要确认一下你的操作系统是否已经安装了 DockerDocker Compose 工具。如果还没有安装,请先安装这两个工具。 接下来,我们可以通过以下步骤来实现你的要求: 1. 创建一个 Dockerfile 文件,用于构建我们的镜像。在这个文件中,我们需要指定基础镜像、安装所需的动态语言环境以及连接数据库的驱动程序。以下是一个示例: ```dockerfile # 指定基础镜像 FROM php:7.4-apache # 安装所需的 PHP 扩展和库 RUN docker-php-ext-install pdo_mysql mysqli # 安装 MySQL 驱动程序 RUN apt-get update && apt-get install -y libmysqlclient-dev RUN docker-php-ext-install pdo_mysql # 将 Web 应用程序复制到容器中 COPY ./src /var/www/html/ # 暴露端口 EXPOSE 80 ``` 2. 在当前目录下创建一个 docker-compose.yaml 文件,用于定义我们的应用程序和数据库的服务。以下是一个示例: ```yaml version: '3' services: web: build: . ports: - "80:80" depends_on: - db db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: test MYSQL_USER: test MYSQL_PASSWORD: test volumes: - db_data:/var/lib/mysql volumes: db_data: ``` 在这个文件中,我们定义了两个服务:web 和 db。web 服务使用上面创建的 Dockerfile 文件构建镜像,并将容器内的 80 端口映射到宿主机的 80 端口。db 服务使用 MySQL 官方镜像,并设置了一些环境变量和数据卷。 3. 在当前目录下创建一个 src 目录,用于存放我们的 Web 应用程序代码。以下是一个示例: ```php <?php $host = 'db'; $user = 'test'; $password = 'test'; $dbname = 'test'; // 创建数据库连接 $conn = new mysqli($host, $user, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // 查询数据 $sql = "SELECT * FROM users"; $result = $conn->query($sql); // 显示数据 if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>"; } } else { echo "0 results"; } // 关闭数据库连接 $conn->close(); ?> ``` 在这个文件中,我们创建了一个数据库连接,查询了 users 表中的数据,并将数据显示在 Web 页面上。 4. 执行以下命令启动应用程序和数据库的服务: ```bash docker-compose up -d ``` 5. 打开浏览器,访问 http://localhost,应该可以看到从数据库中读取的数据已经显示在页面上了。 以上就是利用 DockerDocker Compose 工具搭建动态语言运行环境并连接数据库的基本步骤。你可以根据自己的需求修改 Dockerfiledocker-compose.yaml 文件,以适应不同的应用程序和数据库

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值