我的编程空间,编程开发者的网络收藏夹
学习永远不晚

通过docker容器搭建lamp架构的流程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

通过docker容器搭建lamp架构的流程

1. 拉取centos镜像


[root@localhost ~]# 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@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    5d0da3dc9764   2 months ago   231MB
[root@localhost ~]# 


2. 构建nginx镜像


[root@localhost ~]# docker run --name nginx -it centos
[root@522006030d19 /]# useradd -r -M -s /sbin/nologin nginx
[root@522006030d19 /]# yum -y install pcre-devel pcre gcc gcc-c++ openssl-devel zlib zlib-devel make vim wget openssl openssl-devel gd-devel
[root@522006030d19 /]# mkdir -p /var/log/nginx
[root@522006030d19 /]# chown -R nginx.nginx /var/log/nginx
[root@522006030d19 /]# cd /usr/class="lazy" data-src/
[root@522006030d19 class="lazy" data-src]# wget https://nginx.org/download/nginx-1.20.1.tar.gz
[root@522006030d19 class="lazy" data-src]# tar xf nginx-1.20.1.tar.gz 
[root@522006030d19 class="lazy" data-src]# cd nginx-1.20.1
[root@522006030d19 nginx-1.20.1]# ./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@522006030d19 nginx-1.20.1]# make -j $(grep 'processor' /proc/cpuinfo | wc -l) && make install
[root@522006030d19 nginx-1.20.1]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh[root@522006030d19 nginx-1.20.1]# source /etc/profile.d/nginx.sh
[root@522006030d19 nginx-1.20.1]# nginx 
[root@522006030d19 nginx-1.20.1]# ss -antl
State       Recv-Q      Send-Q           Local Address:Port           Peer Address:Port      Process      
LISTEN      0           128                    0.0.0.0:80                  0.0.0.0:*                      
[root@522006030d19 nginx-1.20.1]#           
[root@522006030d19 nginx-1.20.1]# echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf
[root@522006030d19 nginx-1.20.1]# tail -1 /usr/local/nginx/conf/nginx.conf
daemon off;
[root@522006030d19 nginx-1.20.1]# 


//打开另外一个终端
[root@localhost ~]# docker commit -c 'CMD ["/usr/local/nginx/sbin/nginx"]'-p nginx pengyudong/nginx:v1
sha256:2153a12060f6cca88646f285a1ae2af2a94c0d489ad8393f931d29c8fdd8af6e
[root@localhost ~]# docker images
REPOSITORY         TAG       IMAGE ID       CREATED          SIZE
pengyudong/nginx   v1        2153a12060f6   27 seconds ago   576MB
centos             latest    5d0da3dc9764   2 months ago     231MB
[root@localhost ~]# 


[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS                      PORTS     NAMES
522006030d19   centos    "/bin/bash"   14 minutes ago   Exited (0) 38 seconds ago             nginx
[root@localhost ~]# docker rm 522006030d19
522006030d19
[root@localhost ~]# docker run  pengyudong/nginx:v1
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED              STATUS         PORTS     NAMES
9c129a20e7c7   pengyudong/nginx:v1   "/usr/local/nginx/sb…"   About a minute ago   Up 2 seconds             blissful_perlman


[root@localhost ~]# docker inspect 9c129a20e7c7
......省略N行
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2",
.....省略N行
[root@localhost ~]# curl 172.17.0.2
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/" rel="external nofollow" >nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/" rel="external nofollow" >nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@localhost ~]# 

3. 构建mysql镜像


[root@localhost ~]# docker run --name mysql -it centos
[root@16256ee64b9e /]# cd /usr/class="lazy" data-src/
[root@16256ee64b9e class="lazy" data-src]# ls
debug  kernels
[root@16256ee64b9e class="lazy" data-src]# 

//开启另外一个终端
[root@localhost class="lazy" data-src]# ls
debug  kernels  mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
[root@localhost ~]# cd /usr/class="lazy" data-src/
[root@localhost class="lazy" data-src]# docker cp  mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz mysql:/usr/class="lazy" data-src/

[root@16256ee64b9e class="lazy" data-src]# ls
debug  kernels	mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
[root@16256ee64b9e class="lazy" data-src]# 
[root@16256ee64b9e class="lazy" data-src]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel ncurses-compat-libs libaio numactl
[root@16256ee64b9e class="lazy" data-src]# useradd -r -M -s /sbin/nologin mysql
[root@16256ee64b9e class="lazy" data-src]# tar xf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz 
[root@16256ee64b9e class="lazy" data-src]# mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql 
[root@16256ee64b9e class="lazy" data-src]# cd /usr/local/
[root@16256ee64b9e local]# ls
bin  etc  games  include  lib  lib64  libexec  mysql  sbin  share  class="lazy" data-src
[root@16256ee64b9e local]# chown -R mysql.mysql /usr/local/mysql 
[root@16256ee64b9e local]# mkdir /opt/data
[root@16256ee64b9e local]# chown  -R mysql.mysql /opt/data 
[root@16256ee64b9e local]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data
2021-12-06T02:53:34.095554Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-12-06T02:53:35.482793Z 0 [Warning] InnoDB: New log files created, LSN=45790
2021-12-06T02:53:35.506011Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-12-06T02:53:35.562063Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: b4aa24d8-563f-11ec-80a8-0242ac110003.
2021-12-06T02:53:35.562798Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-12-06T02:53:35.979249Z 0 [Warning] CA certificate ca.pem is self signed.
2021-12-06T02:53:36.217615Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
[root@16256ee64b9e local]# 
[root@16256ee64b9e local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@16256ee64b9e local]# . /etc/profile.d/mysql.sh
[root@16256ee64b9e local]# echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[root@16256ee64b9e local]# cat > /etc/my.cnf <<EOF
> [mysqld]
> basedir = /usr/local/mysql
> datadir = /opt/data
> socket = /tmp/mysql.sock
> port = 3306
> pid-file = /opt/data/mysql.pid
> user = mysql
> skip-name-resolve
> EOF
[root@16256ee64b9e local]# cat /etc/m
machine-id                modprobe.d/               motd                      my.cnf
makedumpfile.conf.sample  modules-load.d/           mtab                      my.cnf.d/
[root@16256ee64b9e local]# cat /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
[root@16256ee64b9e local]# 

[root@16256ee64b9e local]# sed -ri 's#^(basedir=).*#\1/usr/local/mysql#g' /usr/local/mysql/support-files/mysql.server
[root@16256ee64b9e local]# sed -ri 's#^(datadir=).*#\1/opt/data#g' /usr/local/mysql/support-files/mysql.server
[root@16256ee64b9e local]# sed -n '46,1p' /usr/local/mysql/support-files/mysql.server
basedir=/usr/local/mysql
[root@16256ee64b9e local]# sed -n '47,1p' /usr/local/mysql/support-files/mysql.server
datadir=/opt/data
[root@16256ee64b9e local]# sed -n '46,47p' /usr/local/mysql/support-files/mysql.server
basedir=/usr/local/mysql
datadir=/opt/data
[root@16256ee64b9e local]# 

[root@16256ee64b9e ~]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.Logging to '/opt/data/16256ee64b9e.err'.
 SUCCESS! 
[root@16256ee64b9e ~]# ss -antl
State       Recv-Q      Send-Q           Local Address:Port           Peer Address:Port      Process      
LISTEN      0           80                           *:3306                      *:*                      
[root@16256ee64b9e ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.34 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set password = password('123');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> exit
Bye
[root@16256ee64b9e ~]# 


[root@16256ee64b9e ~]# mkdir /scripts
[root@16256ee64b9e ~]# vi /scripts/start.sh 
[root@16256ee64b9e ~]# sed -n '1,3p' /scripts/start.sh 
#!/bin/bash
/usr/local/mysql/support-files/mysql.server start
/bin/bash
[root@16256ee64b9e ~]# chmod +x /scripts/start.sh 

[root@localhost ~]# docker images
REPOSITORY         TAG       IMAGE ID       CREATED          SIZE
pengyudong/nginx   v1        2153a12060f6   28 minutes ago   576MB
centos             latest    5d0da3dc9764   2 months ago     231MB
[root@localhost ~]# docker commit -c 'CMD ["/scripts/start.sh"]' -p mysql pengyudong/mysql:v1
sha256:9c8b9aa2d9177e737138f7a42976210fd6e7b039cb543c306281be72c351806e
[root@localhost ~]# docker images
REPOSITORY         TAG       IMAGE ID       CREATED          SIZE
pengyudong/mysql   v1        9c8b9aa2d917   4 seconds ago    3.81GB
pengyudong/nginx   v1        2153a12060f6   30 minutes ago   576MB
centos             latest    5d0da3dc9764   2 months ago     231MB

[root@localhost ~]# docker run --name mysql-1 -dit --net=container:97c5a3076d39 pengyudong/mysql:v1
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ade839dc292e pengyudong/mysql:v1 “/scripts/start.sh” 12 minutes ago Up 12 minutes mysql-1
29007b1a67a8 pengyudong/nginx:v1 “/usr/local/nginx/sb…” 2 hours ago Up About an hour
[root@localhost ~]# docker exec -it mysql-1 /bin/bash
[root@29007b1a67a8 /]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*
LISTEN 0 80 *:3306 :

4. 构建php镜像


[root@localhost ~]# cd /usr/class="lazy" data-src/
[root@localhost class="lazy" data-src]# ls
debug  kernels  mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz  php-8.0.10.tar.gz
[root@localhost class="lazy" data-src]# docker cp php-8.0.10.tar.gz php8:/usr/class="lazy" data-src/

[root@a116c2a489fe class="lazy" data-src]# ls
debug  kernels	php-8.0.10.tar.gz
[root@a116c2a489fe class="lazy" data-src]# yum -y install epel-release

[root@a116c2a489fe class="lazy" data-src]# yum -y install sqlite-devel libzip-devel libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel  libicu-devel libjpeg libjpeg-devel libpng libpng-devel openldap-devel pcre-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel oniguruma  gcc gcc-c++ make libcurl-devel

[root@a116c2a489fe class="lazy" data-src]# yum -y install http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/Packages/oniguruma-devel-6.8.2-2.el8.x86_64.rpm

[root@a116c2a489fe class="lazy" data-src]# tar xf php-8.0.10.tar.gz 
[root@a116c2a489fe class="lazy" data-src]# cd php-8.0.10

[root@a116c2a489fe php-8.0.10]# ./configure --prefix=/usr/local/php8  \
> --with-config-file-path=/etc \
> --enable-fpm \
> --disable-debug \
> --disable-rpath \
> --enable-shared \
> --enable-soap \
nable-exif  \
--enable-ftp \
--enable-gd \
--with-jpeg \
--with-zlib-dir \
--with-freetype \
--with-gettext \
--enable-mbstring \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-readline \
--enable-shmop \
--enable-simplexml \
--en> --with-openssl \
> --enable-bcmath \
> --with-iconv \
> --with-bz2 \
> --enable-calendar \
> --with-curl \
> --enable-exif  \
> --enable-ftp \
> --enable-gd \
> --with-jpeg \
> --with-zlib-dir \
> --with-freetype \
> --with-gettext \
> --enable-mbstring \
> --enable-pdo \
> --with-mysqli=mysqlnd \
> --with-pdo-mysql=mysqlnd \
> --with-readline \
> --enable-shmop \
> --enable-simplexml \
> --enable-sockets \
> --with-zip \
> --enable-mysqlnd-compression-support \
> --with-pear \
> --enable-pcntl \
> --enable-posix

[root@a116c2a489fe php-8.0.10]# make -j $(grep 'processor' /proc/cpuinfo | wc -l) && make install

[root@a116c2a489fe php-8.0.10]# echo 'export PATH=/usr/local/php7/bin:$PATH' > /etc/profile.d/php.sh
[root@a116c2a489fe php-8.0.10]# source /etc/profile.d/php.sh


[root@a116c2a489fe php-8.0.10]# cp -f /usr/class="lazy" data-src/php-8.0.10/php.ini-production /etc/php.i
cp: overwrite '/etc/php.i'? yes
[root@a116c2a489fe php-8.0.10]# cp -f /usr/class="lazy" data-src/php-8.0.10/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@a116c2a489fe php-8.0.10]# chmod +x /etc/init.d/php-fpm
[root@a116c2a489fe php-8.0.10]# cp -f /usr/local/php8/etc/php-fpm.conf.default /usr/local//php8/etc/php-fpm.conf  
[root@a116c2a489fe php-8.0.10]# cp -f /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf
[root@a116c2a489fe php-8.0.10]# mkdir /scripts
[root@a116c2a489fe php-8.0.10]# vi /scripts/start.sh
[root@a116c2a489fe php-8.0.10]# cat /scripts/start.sh 
#!/bin/bash
/etc/init.d/php-fpm start
/bin/bash

[root@a116c2a489fe php-8.0.10]# chmod +x /scripts/start.sh 
[root@a116c2a489fe php-8.0.10]# /etc/init.d/php-fpm start
Starting php-fpm  done
[root@a116c2a489fe php-8.0.10]# ss -antl
State       Recv-Q      Send-Q           Local Address:Port           Peer Address:Port      Process      
LISTEN      0           128                  127.0.0.1:9000                0.0.0.0:*                      
[root@a116c2a489fe php-8.0.10]# 

[root@0e6298ebe47d php-8.0.10]#
[root@0e6298ebe47d php-8.0.10]# mkdir -p /var/www/html
[root@0e6298ebe47d php-8.0.10]# vi /var/www/html/index.php
[root@0e6298ebe47d php-8.0.10]# cat /var/www/html/index.php

<?php phpinfo(); ?>

[root@0e6298ebe47d php-8.0.10]#


[root@localhost class="lazy" data-src]# docker commit -c 'CMD ["/bin/bash","/scripts/start.sh"]' -p php8 pengyudong/php8:v1
sha256:8ee4d3fb7bd27b0242cf096464932ff98fbc42d641d1f6b9cac7ddccb429f450
[root@localhost class="lazy" data-src]# docker images
REPOSITORY         TAG       IMAGE ID       CREATED             SIZE
pengyudong/php8    v1        8ee4d3fb7bd2   22 seconds ago      1.52GB
pengyudong/mysql   v1        9c8b9aa2d917   30 minutes ago      3.81GB
pengyudong/nginx   v1        2153a12060f6   About an hour ago   576MB
centos             latest    5d0da3dc9764   2 months ago        231MB
[root@localhost class="lazy" data-src]# 


5. 配置lnmp


//配置nginx
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS     NAMES
a116c2a489fe   centos                "/bin/bash"              28 minutes ago   Up 28 minutes             php8
16256ee64b9e   centos                "/bin/bash"              55 minutes ago   Up 29 minutes             mysql
9c129a20e7c7   pengyudong/nginx:v1   "/usr/local/nginx/sb…"   59 minutes ago   Up 57 minutes             blissful_perlman
[root@localhost ~]# docker exec -it 9c129a20e7c7 /bin/bash

[root@9c129a20e7c7 ~]# vi /usr/local/nginx/conf/nginx.conf
...
        location / {
            root   html;
            index  index.php index.html index.htm;			//加入index.php
        }
...
        location ~ \.php$ {
            root           /var/www/html;		//修改
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $Document_root$fastcgi_script_name;		//修改
            include        fastcgi_params;
        }
...


[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED             STATUS          PORTS     NAMES
a116c2a489fe   centos                "/bin/bash"              35 minutes ago      Up 35 minutes             php8
16256ee64b9e   centos                "/bin/bash"              About an hour ago   Up 36 minutes             mysql
9c129a20e7c7   pengyudong/nginx:v1   "/usr/local/nginx/sb…"   About an hour ago   Up 46 seconds             blissful_perlman
[root@localhost ~]# docker commit -c 'CMD ["/usr/local/nginx/sbin/nginx"]'-p 9c129a20e7c7 pengyudong/nginx:v2
sha256:8ca4733bb94edf9dac98982610e626b663052000d2c165127e257eeebec34027
[root@localhost ~]# 
sha256:dd9ec3401a3df247bc19cb792a076cfa915e67cb88fdbdfbf2284bbda6ac9a78
[root@localhost ~]# docker images
REPOSITORY         TAG       IMAGE ID       CREATED             SIZE
pengyudong/nginx   v2        dd9ec3401a3d   7 seconds ago       576MB
pengyudong/php8    v1        8ee4d3fb7bd2   8 minutes ago       1.52GB
pengyudong/mysql   v1        9c8b9aa2d917   38 minutes ago      3.81GB
pengyudong/nginx   v1        2153a12060f6   About an hour ago   576MB
centos             latest    5d0da3dc9764   2 months ago        231MB
[root@localhost ~]# 


//配置php
[root@localhost ~]# docker exec -it php8 /bin/bash
[root@a116c2a489fe /]# mkdir -p /var/www/html
[root@a116c2a489fe /]# vi /var/www/html/index.php
[root@a116c2a489fe /]# cat /var/www/html/index.php
<?php
  phpinfo();
?>
[root@a116c2a489fe /]# 

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED             STATUS          PORTS     NAMES
a116c2a489fe   centos                "/bin/bash"              37 minutes ago      Up 37 minutes             php8
16256ee64b9e   centos                "/bin/bash"              About an hour ago   Up 38 minutes             mysql
9c129a20e7c7   pengyudong/nginx:v1   "/usr/local/nginx/sb…"   About an hour ago   Up 3 minutes              blissful_perlman
[root@localhost ~]# docker commit -c 'CMD ["/bin/bash","/scripts/start.sh"]' -p php8 pengyudong/php8:v2
sha256:6e582cd9d5e8ce4b91addb12e6a53a6e3f5cf762aabe2ce24e5f6396ec3f15ed
[root@localhost ~]# docker images
REPOSITORY         TAG       IMAGE ID       CREATED             SIZE
pengyudong/php8    v2        6e582cd9d5e8   8 seconds ago       1.52GB
pengyudong/nginx   v2        dd9ec3401a3d   2 minutes ago       576MB
pengyudong/php8    v1        8ee4d3fb7bd2   10 minutes ago      1.52GB
pengyudong/mysql   v1        9c8b9aa2d917   40 minutes ago      3.81GB
pengyudong/nginx   v1        2153a12060f6   About an hour ago   576MB
centos             latest    5d0da3dc9764   2 months ago        231MB
[root@localhost ~]# 


//使用container模式使容器间通信
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED             STATUS          PORTS     NAMES
a116c2a489fe   centos                "/bin/bash"              38 minutes ago      Up 38 minutes             php8
16256ee64b9e   centos                "/bin/bash"              About an hour ago   Up 40 minutes             mysql
9c129a20e7c7   pengyudong/nginx:v1   "/usr/local/nginx/sb…"   About an hour ago   Up 4 minutes              blissful_perlman
[root@localhost ~]# docker rm -f a116c2a489fe 16256ee64b9e 9c129a20e7c7
a116c2a489fe
16256ee64b9e
9c129a20e7c7
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# 

[root@localhost ~]# docker run --name nginx -dit -p 80:80  pengyudong/nginx:v2
f64441e51181b9dc41806a9b1363a22ce28fd83f4cbd7f85df6eed88774a4197
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS         PORTS                               NAMES
f64441e51181   pengyudong/nginx:v2   "/usr/local/nginx/sb…"   7 seconds ago   Up 7 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx
[root@localhost ~]# 

[root@localhost ~]# docker run --name mysql -dit --net=container:f64441e51181 pengyudong/mysql:v1
96530de34b37a5fc6af1564df64f423321b04641f6aea5a3dd5be199f02a8510
[root@localhost ~]# docker run --name php8 -dit --net=container:f64441e51181 pengyudong/php8:v2
27834149fc66f007ba1cca5d298351d39f7d819af3f1ec6fcf8e12bbdc39fb4d
[root@localhost ~]# 
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED              STATUS              PORTS                               NAMES
27834149fc66   pengyudong/php8:v2    "/bin/bash /scripts/…"   29 seconds ago       Up 28 seconds                                           php8
96530de34b37   pengyudong/mysql:v1   "/scripts/start.sh"      About a minute ago   Up About a minute                                       mysql
f64441e51181   pengyudong/nginx:v2   "/usr/local/nginx/sb…"   2 minutes ago        Up 2 minutes        0.0.0.0:80->80/tcp, :::80->80/tcp   nginx
[root@localhost ~]# docker exec -it nginx /bin/bash
[root@f64441e51181 /]# ss -antl
State       Recv-Q      Send-Q           Local Address:Port           Peer Address:Port      Process      
LISTEN      0           128                  127.0.0.1:9000                0.0.0.0:*                      
LISTEN      0           128                    0.0.0.0:80                  0.0.0.0:*                      
LISTEN      0           80                           *:3306                      *:*                      
[root@f64441e51181 /]# 

在这里插入图片描述
在这里插入图片描述

到此这篇关于docker容器搭建lamp架构的文章就介绍到这了,更多相关docker搭建lamp内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

通过docker容器搭建lamp架构的流程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

docker 搭建部署 YAPI 框架的详细过程

Yapi是一个高效、易用、功能强大的接口文档管理工具,旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 AP,这篇文章主要介绍了docker 搭建部署 YAPI 框架,需要的朋友可以参考下
2022-11-13

Docker安装Nginx并部署及MySQL容器构建全过程

本指南详细介绍了在Docker环境中安装Nginx并部署MySQL容器的步骤。从安装Docker开始,逐步讲解了运行Nginx容器、构建MySQL镜像和运行MySQL容器。还包括连接到MySQL、创建数据库和用户的说明。最后,指南提供了配置Nginx反向代理MySQL容器的步骤,并指导读者进行测试。希望这篇指南对读者部署自己的Docker容器有所帮助,并让他们了解使用Docker管理基础设施的优势。
Docker安装Nginx并部署及MySQL容器构建全过程
2024-04-02

spring Boot应用如何通过Docker来实现构建、运行、发布流程

小编给大家分享一下spring Boot应用如何通过Docker来实现构建、运行、发布流程,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. Docker 简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的
2023-05-30

Docker与Nginx的联合:构建微服务架构的入口网关(Nginx如何通过Docker成为微服务架构的入口?)

Docker与Nginx联合构建微服务架构的入口网关,提供隔离、可移植性和自动化优势。Nginx作为入口网关管理流量,实现流量路由、负载均衡和故障转移。通过将Nginx部署到Docker容器,可简化构建、部署和扩展过程,满足微服务架构的高可用性、性能和可扩展性要求。
Docker与Nginx的联合:构建微服务架构的入口网关(Nginx如何通过Docker成为微服务架构的入口?)
2024-04-02

如何通过ssh远程连接docker中的容器

这篇文章主要介绍“如何通过ssh远程连接docker中的容器”,在日常操作中,相信很多人在如何通过ssh远程连接docker中的容器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何通过ssh远程连接dock
2023-06-19

云服务器的搭建过程有哪些内容

云服务器(CloudDistributedServer)是一种用于存储和共享文件、应用程序和数据库的服务器,它通常采用虚拟化技术实现,能够降低系统成本,提高系统稳定性和性能。以下是搭建云服务器所需的基本步骤:选择云服务器提供商:选择一家可靠的云服务器提供商可以让您的网站和应用程序在公共云上实现快速稳定地运行。配置云服务器:在购买云服务器之前,您需要了解云服务器的可用性、性能、可靠性、安全性
2023-10-26

云原生Docker创建并进入mysql容器的全过程

目录前言拉取镜像创建容器进入mysql容器登录mysql创建数据库创建表总结前言本文主要讲解的是创建mysql的容器,大家都知道,在外面进入mysql都很容易,“mysql -u用户名 -p密码”就可以,但是是容器
2023-02-21

云服务器的搭建过程有哪些内容呢

搭建云服务器需要以下几个步骤:确定云服务器的容量和可用性。用户需要了解自己的业务需求和预算,并确保云服务器的容量和可用性是足够的,以满足用户的需求。选择云服务器提供商。用户需要选择一家云服务器提供商,可以是AWS、阿里云、谷歌云等,需要根据自身的需求来选择合适的云服务器提供商。安装云服务器操作系统。云服务器提供商会提供
云服务器的搭建过程有哪些内容呢
2023-10-28

云服务器的搭建过程包括哪些内容

选择云服务提供商:用户需要选择一个可靠的云服务提供商,这可以通过查看用户的评价、了解其服务的功能、价格等方面来进行判断。用户可以选择具有良好声誉、稳定性和安全性的云服务提供商。选择服务器硬件:云服务器的运行需要计算资源、存储资源和网络带宽等硬件资源的支持,因此需要选择一个高效、可靠的服务器硬件。用户需要考虑硬件的性能、
2023-10-27

云服务器的搭建过程有哪些环节构成

选择云服务器提供商:选择一个可靠的云服务器提供商是非常重要的,可以确保你的服务器不会出现任何问题。云服务器提供商的选择通常取决于你的业务需求、计算资源和数据存储需求。购买云服务器:你需要购买一个云服务器,可以根据你的需求选择最适合你的服务器。通常有两种选择:传统的服务器(如AmazonWebServices、MicrosoftAzureLinux)和云服务器(如AWS、AzureMachineLearning、GoogleCloudStorage)。安装云服务器...
2023-10-27

编程热搜

目录