ホームページ  >  記事  >  バックエンド開発  >  PHP ローカル開発環境 Docker のインストール

PHP ローカル開発環境 Docker のインストール

不言
不言オリジナル
2018-05-09 10:14:394535ブラウズ

この記事では、主に PHP ローカル開発環境の docker インストールについて紹介します。これには、特定の参考値があります。必要な友人はそれを参照できます。

docker php ローカル開発環境

Lu Xun:製品プログラムを作成したくない 従業員を販売するのは簡単ではありません

前書き

多くの人は、Docker を構成する際のディレクトリ構造と構成の問題を理解しないため、多くの混乱が生じます。

しかし、この記事を読んだあなたは正しいです。皆さんを Docker ピットにすぐに導くために、「短く簡潔な」言葉を使用します。記事にはあなたの価値観と矛盾することが書かれている可能性がありますので、小さなこぶしを使って Ctrl+F4 を押してください。私は叱ることに耐えられない人間です、もしあなたが私を叱ったら(私を叱る機会を与えますか?まず私を殴り殺します)(マニュアル面白い)。

絵文字表現を追加するには csdn を強くお勧めします。

mysql インストールテキスト

mysql のインストールは比較的簡単です

[root@test app]#  docker pull mysql:5.7
[root@test app]#   docker run - -name mysql_server -p 3308:3308 -e MYSQL\_ROOT\_PASSWORD=123456 -d mysql:5.7
命令解释 

# -e 内置环境变量 这里是给ROOT 帐号设置密码
没了。

ただし、インストールするときは、最初に mysql をインストールしてから php をインストールする必要があります。これは、2 つのコンテナ間の対話型通信を可能にするためにコンテナ間に -link が必要であるためです。さもないと。ふふ、そうですよね。 phpでMySQLに接続できません。コマンドの説明は以下の通りです。 。

phpインストールテキスト

1. 準備

対象者のコンピュータはubuntuシステムであるため、インストール以外にも、この記事の一部のコマンドはubuntu用に統一されています。
docker のインストール、
windows のインストール
linux
mac

1. docker 環境
2. php:7.2.4-fpm イメージ (これはプロジェクトの環境に基づく必要があります)
MySql の公式イメージ

3.気分で) インストールするかどうか)

(面白い) 読者の中には、操作が簡単になるので、なぜ nginx|apache を使わないのかと疑問に思う人もいるかもしれません。これにより、インストールをより迅速に開始できるようになり、コードをより迅速に作成できるようになります。

dockerをダウンロードしたら、dockerを起動します

PHP ローカル開発環境 Docker のインストール

dockerがオンになっている場合、dockerのバージョンはサーバー情報を出力します。オンになっていない場合は出力されません。

docker を開いてください

2. 開始

1、[root@test app]# docker pull php:7.2.5-fpm              #docker pull 镜像,从docker镜像中拉取某个镜像 
2、[root@test app]# docker images                          #docker 当前所有的镜像名字 imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/php       7.2.5-fpm           e6970efc6d34        3 days ago          367 MB
3、[root@test app]# docker run -d -p 8080:8080 --link mysql_server:mysql_server -v ~/app:/app -w /app php:7.2.5-fpm php -S 0.0.0.0:8080 -t /app 
命令解释
# -d 后台默认启动
# -p 映射端口8080 映射到本机8080  使用方式 本地端口:容器端口
# -v 挂在目录 ~/app 挂载到容器里面 /app目录 
# -w 工作目录 /app目录 相当于cd (在这里,我们可以不用)
# --link  连接容器    容器名:内部使用的名字  
# php:7.2.5-fpm 镜像名
# php -S 0.0.0.0:8080 -t /app  php自带cli Server  用这个可以免除nginx|apache 安装,指定端口为8080 。
4、[root@test app]# docker ps   #查看正在运行的容器
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
9354f9338e29        php:7.2.5-fpm       "docker-php-entryp..."   4 minutes ago       Up 4 minutes        0.0.0.0:8080->8080/tcp, 9000/tcp   naughty_fermi

这里我们可以看出,NAMES 下是容器名,当我们没有指定的时候,docker 会自动创建一个容器名。
PORTS 端口,0.0.0.0:8080->8080/tcp 本机8080 映射到容器8080

3. テスト:

アプリディレクトリに新しいindex.phpを作成します

<?php 
phpinfo();

127.0.0.1:8080を開くと、おなじみのphpinfo

4が表示されます。拡張機能

拡張機能をインストールする必要がない場合は、注意事項を参照してください。 ! !

ここでは拡張機能をインストールする 2 つの方法を説明します

1. 拡張機能をインストールするコンテナーを入力します

[root@test app]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
9354f9338e29        php:7.2.5-fpm       "docker-php-entryp..."   31 minutes ago      Up 31 minutes       0.0.0.0:8080->8080/tcp, 9000/tcp   naughty_fermi

Docker 名がnaughty_fermiであることがわかります

2.
これが私たちのやり方です 拡張機能はインストールされました

注: 一部の拡張機能には依存関係が必要です。拡張機能をインストールする前に、いくつかの依存関係が必要になる場合があります。 PHP コードで接続する場合、mysql ホストは 127.0.0.1 または localhost を使用できません。リンクを mysql_server mysql のコンテナ名に置き換えます。

2. 外部インストールの拡張

1.进入容器
[root@test app]# docker exec -i -t naughty_fermi /bin/bash
root@9354f9338e29:/app# 
#这样子,看到我们就进入了正在运行的容器命令解释
# docker exec  进入正在使用的容器
# -i :即使没有附加也保持STDIN 打开 一般和-t合作使用
# -t :分配一个伪终端  一般和-i 合作使用  
# /bin/bash 打开交互式终端终端
2. [root@test app]# docker- 按两下tab 可以看到
docker-php-entrypoint     docker-php-ext-configure  docker-php-ext-enable     docker-php-ext-install    docker-php-source 

#docker 根据一些常用库 已经给我们写好了一些脚本 docker -php  github 地址[github]( 
3.安装扩展 
举例:sockets 
[root@test app]#  docker-php-ext-install sockets 
静静等待他编译安装
[root@test app]# php -m  # 就能够看到sockets库了。
4.退出容器 
退出容器的方法有点特殊,需要ctrl+p  再crtl + q 这样,才能在后台继续挂起

root@9354f9338e29:/app# [root@test app]# 
[root@test app]# 
4.我们需要重启一下我们cli server 
[root@test app]# ps -ef | grep php 
root     11840 11808  0 17:04 ?        00:00:00 php -S 0.0.0.0:8080 -t /app
root     14923  9900  0 17:54 pts/1    00:00:00 grep --color=auto php

找到我们的 php cli-server pid 为11840 docker 里面的这些进程,是在本机里面能够看到的。这里是解释 [解释](http://dockone.io/question/529)
我们回到了我们的本机上。
[root@test app]# kill -9 11840  # 杀死我们的进程
因为我们杀死了我们的进程,所以 php 也会自动关闭

我们从新开启这个 容器 

比如 上面可以看到 我们NAMES 为 naughty_fermi
[root@test app]# docker start naughty_fermi 这样就开启了这个扩展

初めて設定した後、後でコンテナを開くために docker start コンテナ名が必要です

1.

2. docker stop コンテナ名を使用してコンテナを停止します

3. docker kill コンテナ名を指定してコンテナに名前を付けます。 -p 8080:8080 - -name php_server -v ~/app:/app -w /app php:7.2.5-fpm php -S 0.0.0.0:8080 -t /app
このようにして、コンテナ名を自分で定義することができます

その他、ご不明な点がございましたら、メールでお問い合わせください。私のメールアドレスは

uyy2244@gmail.com です


問題を詳しく説明してください。それ以外の場合は無視してください。 。

注意: この記事はローカル開発環境にのみ適用されます。

上記はこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項: 最も有用な 6 つの開発環境推奨事項を構築するための

php ローカル開発環境

以上がPHP ローカル開発環境 Docker のインストールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。