啟用 php-apache

  1. docker search 搜尋 centos-apache 相關的映像檔,本章主要說明容器間的連線,已啟動 mariadb 資料庫的容器,選用 CentOS 7 為基底的 kokspflanze/centos-apache-php7 映像檔。
    [root@dyw219 ~]# docker search centos-apache
    NAME                             DESCRIPTION                            STARS OFFICIAL AUTOMATED
    naqoda/centos-apache-php         The perfect LAMP stack, including...   11             [OK]
    kokspflanze/centos-apache-php7   Docker with CentOS 7, systemd, Ap...   5              [OK]
    guanxiaohua2k6/centos-apache-php Centos7, apache 2.4, php 5.6, drule    2              [OK]
    freezerglp/centos-apache-php                                            1              
    kokspflanze/centos-apache-php71  centos apache php71                    1              [OK]
    cetres/centos-apache-php-oci     CentOS with php, modules (OCI, MS...   1              [OK]
    kokspflanze/centos-apache-php72  centos apache php72                    1              [OK]
    cetres/centos-apache-php         CentOS with php, modules (OCI8, S...   1              [OK]
    skywidesoft/centos-apache-php7                                          1              
    dwsla/centos-apache22-php54                                             1              [OK]
    identicum/centos-apache-php      centos-apache-php                      0              
    project42/centos-apache          LAP (notice no M) stack built on ...   0              [OK]
    suhoag/centos-apache             Compiling and installing apache f...   0              [OK]
    furu8ma/centos-apache-php-goofys CentOS 6.x + Apache 2.2.x + PHP5.fys   0              [OK]
    kokspflanze/centos-apache-php56  centos apache php56                    0              [OK]
    junix123/centos-apache-php       centos-apache-php                      0              
    gkshk/centos-apache-php-redis                                           0              
    vikas027/centos-apache-php       CentOS with Apache and PHP             0              [OK]
    snkhryk/centos-apache-php                                               0              
    isaocorp/centos-apache-php-goofy centos6.9 + apache 2.2 + php 5.3 ...   0              [OK]
    jonnyczi/centos-apache-php       Apache Php web server on centos        0              
    jonnyczi/centos-apache-proxy     Centos Apache Proxy                    0              
    velasquezerik/centos-apache-php7 centos-apache-php7-mlrclient           0              
    feduxorg/centos-apache           Apache HTTPD auf CentOS                0              [OK]
    identicum/centos-apache          centos-apache                          0
    
  2. 使用 kokspflanze/centos-apache-php7 映像檔,Docker run 啟用名為 webphp1 的容器,--link name:alias 設定要連接的容器 mdb,別名設成同名 mdb。
    [root@dyw219 ~]# docker run -dP --name webphp1 --link mdb:mdb guanxiaohua2k6/centos-apache-php
    e1e597e63f3c8a036f50900981e6b00593b2a7268675ab415bda232a25e10519
    
  3. docker ps 查看容器,docker host 連接容器 webphp1 80 port 的連接埠是 32777。
    [root@dyw219 ~]# docker ps
    CONTAINER ID        IMAGE                              COMMAND                  CREATED       
    e1e597e63f3c        guanxiaohua2k6/centos-apache-php   "/usr/sbin/httpd -D F"   11 minutes ago
    282553feccf2        centos/mariadb-102-centos7         "container-entrypoint"   11 hours ago  
    
    STATUS              PORTS                                           NAMES
    Up 11 minutes       0.0.0.0:32777->80/tcp, 0.0.0.0:32776->443/tcp   webphp1
    Up 11 hours         3306/tcp                                        mdb
    
  4. docker run 執行 env 查看容器 webphp2 (設定與 webphp1 完全一樣) 的環境變數,過濾 MDB_ 的變數,--rm 在執行結束馬上刪除容器。變數 MDB_PORT_3306_TCP 是 tcp://172.17.0.2:3306,吻合上節 mdb 容器查到的 IP。
    [root@dyw219 ~]# docker run --rm --name webphp2 --link mdb:mdb guanxiaohua2k6/centos-apache-php env
    PATH=/root/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    HOSTNAME=64d23d59ff34
    MDB_PORT=tcp://172.17.0.2:3306
    MDB_PORT_3306_TCP=tcp://172.17.0.2:3306
    MDB_PORT_3306_TCP_ADDR=172.17.0.2
    MDB_PORT_3306_TCP_PORT=3306
    MDB_PORT_3306_TCP_PROTO=tcp
    MDB_NAME=/webphp2/mdb
    MDB_ENV_MYSQL_ROOT_PASSWORD=123qwe
    MDB_ENV_SUMMARY=MariaDB 10.2 SQL database server
    MDB_ENV_DESCRIPTION=MariaDB is a multi-user, multi-threaded SQL database server....
    MDB_ENV_STI_SCRIPTS_URL=image:///usr/libexec/s2i
    MDB_ENV_STI_SCRIPTS_PATH=/usr/libexec/s2i
    MDB_ENV_APP_ROOT=/opt/app-root
    MDB_ENV_PLATFORM=el7
    MDB_ENV_BASH_ENV=/usr/share/container-scripts/mysql/scl_enable
    MDB_ENV_ENV=/usr/share/container-scripts/mysql/scl_enable
    MDB_ENV_PROMPT_COMMAND=. /usr/share/container-scripts/mysql/scl_enable
    MDB_ENV_MYSQL_VERSION=10.2
    MDB_ENV_APP_DATA=/opt/app-root/src
    MDB_ENV_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/mysql
    MDB_ENV_MYSQL_PREFIX=/opt/rh/rh-mariadb102/root/usr
    MDB_ENV_ENABLED_COLLECTIONS=rh-mariadb102
    HOME=/root