ドッキングウィンドウは、コンテナまで、PHP、nginxの、Redisのは、MySQLとのリンクを設置しました

人々は、彼らが、私も務め、オリジナルのピットであり、より多くの、我々が変更したことを言って神経を持っています

私はPHP7を建て

 

docker 安装php,nginx,redis,mysql容器并且link起来

    docker pull mysql
    docker pull nginx
    docker pull redis
    docker pull php:7.0-fpm


    需要制定版本的可以像php那样加版本号,没加的就是最新的


動作環境
のMacBook Proは、OSX 10.13.6

スタートのphp-FPMを
起動して実行してみましょう、PHPの必要性のPHP-FPMを解釈しました:

docker run --name php7 -d  -v  /home/www:/www/wwwroot php:7.0-fpm

解释执行 php 需要 php-fpm,先让它运行起来:

说明:
php7 是容器的名字

~/home/lnmp/www  宿主机目录

/www/wwwroot     目录名字


 

启动mysql
 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6

加版本,如果上面没有的话又会下载一遍

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql

所以最好不要加版本

-nameコンテナ名

MySQLのカスタム名

-p:露光ポート、ポートマッピング(マッピングが複数のポートであってもよい)の外部ポート:容器のポート内部

3306ポートマッピング:3306 -p

-e:任意の環境変数を設定(容器)

MYSQL_ROOT_PASSWORD =ここでのルートは、ルートのデータベース・パスワードを設定するために指し

開始Redisのを

docker run --name redis -p 6379:6379 -d redis

カスタム名Redisの 
6379ポートマッピング、すなわち外部ポート:6379 -pは、容器口は 
Redisの:最新の画像名:バージョンを

nginxの、PHP-FPMは、MySQL内、 Redisのコンテナリンクを

docker run --name nginx --link mysql:db --link redis:redis --link php7:php -p 80:80 -v /home/www:/www/wwwroot -d nginx

nginxの設定ファイルを編集

ローカルは、default.confへの設定ファイルのドッキングウィンドウのconf.dのcp容器 
/etc/nginx/conf.d/default.confは、default.conf:ドッカCP nginxの 

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /www/wwwroot;
        index  index.php index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root          /www/wwwroot;
        fastcgi_pass   172.17.0.2:9000; #php-fpm容器的ip,端口9000
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/wwwroot/$fastcgi_script_name;
        include        fastcgi_params;

    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

查看容器ip 的方法

docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID> 
或 
docker inspect <container id> 
或 
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id!

 

/etc/nginx/conf.d/default.conf:コピーがドッキングウィンドウのcpは、default.conf nginxの戻ることができます修正
、これらは私のプロフィールです
打ち上げコンテナの
ドッキングウィンドウnginxの起動
密閉容器の
ドッキングウィンドウの停止をnginxの
コンテナに再起動
ドッキングウィンドウの再起動nginxの
削除コンテナを
ドッキングウィンドウRM nginxのを
コンテナに
ドッキングウィンドウのexec -it nginxの/ binに/ bashのの
コンテナのステータス
ドッキングウィンドウのステータスnginxの
ビューミラー
ドッカーロイヤリティーフリー
ランニング表示するには、ドッカーコンテナ
ドッキングウィンドウpsを
すべてのコンテナを表示
ドッキングウィンドウのps -a
ミラーを削除
ドッキングウィンドウRMI nginxの
輸出輸出
最初のすべてのコンテナをチェック1.
sudoのドッキングウィンドウのps -a
輸出コンテナにコンテナIDを見つけて、コマンドの実行2.
sudoのドッキングウィンドウの輸出コンテナのコンテナID>輸出アドレスファイル名
です
sudoのドッキングウィンドウの輸出234wer2323dfdfdsfq> /home/export.tar
インポートインポート
CATの/home/export.tar |ドッカーインポートをsudoを- lanmps:最新の
保存保存
永続画像(ないコンテナ)のための[保存]コマンド
1.最初のチェックすべてのミラー
sudoのドッキングウィンドウの画像

2.の名前保存したい画像検索
ファイル名のアドレスを保存する画像名保存sudoのドッキングウィンドウを>
である
lanmps保存sudoのドッキングウィンドウを> /home/save-lanmps.tar
ロードされた
/home/save-lanmps.tarドッカ負荷<
上8888:最後の訪問はlocalhostディレクトリへのアクセスを示すことができる
のRedisを使って
、あなたがPHP拡張にRedisのRedisのコンテナをインストールする必要があり、それを使用するには、
拡張されたダウンロード接続のRedisの 
は、phpizeを 
./configureを 
make installをメイク&& 
今回コンパイラをインストールした後、これをredis.so拡張を生成しますそれがどこにある彼のプロフィールを依頼する時? 
彼のプロフィール/usr/local/etc/php/conf.dは真下投げ

redis.iniファイル名の
拡張子=は/ usr / local / libに / PHP /拡張/非デバッグ非ZTS-20170718 / redis.so
再起動のphp-FPMコンテナ
ドッカー再起動php72
はlocalhost:8888 / index.phpを
エコーするphpinfo() ;

検索Redisの拡張機能がインストールされている
コードの書き込みセクションに

RedisのRedisの新しい新しい= $();
$ redis->接続( '172.17.0.5'、6379); //容器IP
//ますprint_r($ Redisの);ダイ;
$ = STRNAME 'プッシュ';
$再= $ redis- >( "自分の{$ STRNAME}プッシュを書くために小さなシリーズから!" $ STRNAMEを)公表;
エコー"{$ STRNAME} ---- -----成功したプッシュ/> <BR";
$ redis->ユース閉じます();
MySQLが使用する
試みを{
    $ DB =新しい新しいPDO( 'MySQLの:ホスト= 172.17.0.4; DBNAME =テスト'、 'ルート'、 'ルート');
    $ ARR = $ DB->クエリ(「ユーザーからのSELECT * ") - >()FETCH;
    のvar_dump($ ARRを);ダイ;
}キャッチ(PDOException $ E)は{
    印刷"エラー: ";"は$ e-> getMessage()の.. "
    ダイ();
}
元ます。https://blog.csdn。 /ネット/ qq_36373262 /記事/詳細79727223
自身のプロのテスト、ピットの一部が充填されました

公開された29元の記事 ウォンの賞賛5 ビュー8003

おすすめ

転載: blog.csdn.net/qq_25194685/article/details/89742199