基于容器搭建lnmp架构

本文介绍了如何基于容器搭建LNMP架构,包括构建nginx、mysql和php8镜像的详细步骤,以及如何进行容器间的通信和配置测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于容器搭建lnmp架构


在docker环境中拉取最新的centos镜像,基于centos镜像来制作nginx、mysql、php镜像

[root@docker ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete 
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    5d0da3dc9764   2 months ago   231MB

构建nginx镜像

基于centos镜像创建一个新容器命名为nginx

[root@docker ~]# docker run --name nginx -it centos
[root@docker ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
e9be839be5ed   centos    "/bin/bash"   17 seconds ago   Up 16 seconds             nginx

在容器中编译安装nginx

[root@docker src]# docker cp nginx-1.20.2.tar.gz nginx:/usr/src

[root@e9be839be5ed /]# useradd -r -M -s /sbin/nologin nginx
[root@e9be839be5ed /]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ make
[root@e9be839be5ed /]# mkdir -p /var/log/nginx
[root@e9be839be5ed /]# chown -R nginx.nginx /var/log/nginx 
[root@e9be839be5ed /]# cd /usr/src/
[root@e9be839be5ed src]# ls
debug  kernels  nginx-1.20.2.tar.gz
[root@e9be839be5ed src]# tar xf nginx-1.20.2.tar.gz 
[root@e9be839be5ed src]# cd nginx-1.20.2
[root@e9be839be5ed nginx-1.20.2]# ls
CHANGES  CHANGES.ru  LICENSE  README  auto  conf  configure  contrib  html  man  src
[root@e9be839be5ed nginx-1.20.2]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-debug \
> --with-http_ssl_module \
> --with-http_realip_module \
> --with-http_image_filter_module \
> --with-http_gunzip_module \
> --with-http_gzip_static_module \
> --with-http_stub_status_module \
> --http-log-path=/var/log/nginx/access.log \
> --error-log-path=/var/log/nginx/error.log

[root@e9be839be5ed nginx-1.20.2]# make && make install

再开一个终端制作nginx镜像并用该镜像运行容器测试

[root@docker ~]# docker commit -c 'CMD ["/bin/bash","/opt/nginx-start.sh"]' -p nginx 93quan/nginx:v1
sha256:c6c354211762480e4b501a0c401f065e6987910f536c3efd77d300e8c562e45f
[root@docker ~]# docker images
REPOSITORY     TAG       IMAGE ID       CREATED          SIZE
93quan/nginx   v1        c6c354211762   38 seconds ago   549MB
93quan/php8    v1        8470c6b46097   57 seconds ago   1.52GB
93quan/mysql   v1        f7f5cd3137f3   2 hours ago      3.81GB
centos         latest    5d0da3dc9764   2 months ago     231MB

[root@docker ~]# docker run --name test -d 93quan/nginx:v1 
b048cca10c08802082dabcd682da4b8e4e67bddf98d50c3305afa882d0763f0c

构建mysql镜像

基于centos镜像创建一个新容器命名为mysql

[root@docker ~]# docker run --name mysql -it centos
[root@docker src]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值