この記事では、主に PHP ローカル開発環境の docker インストールについて紹介します。これには、特定の参考値があります。必要な友人はそれを参照できます。
Lu Xun:製品プログラムを作成したくない 従業員を販売するのは簡単ではありません
多くの人は、Docker を構成する際のディレクトリ構造と構成の問題を理解しないため、多くの混乱が生じます。
しかし、この記事を読んだあなたは正しいです。皆さんを Docker ピットにすぐに導くために、「短く簡潔な」言葉を使用します。記事にはあなたの価値観と矛盾することが書かれている可能性がありますので、小さなこぶしを使って Ctrl+F4 を押してください。私は叱ることに耐えられない人間です、もしあなたが私を叱ったら(私を叱る機会を与えますか?まず私を殴り殺します)(マニュアル面白い)。
絵文字表現を追加するには csdn を強くお勧めします。
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に接続できません。コマンドの説明は以下の通りです。 。
対象者のコンピュータはubuntuシステムであるため、インストール以外にも、この記事の一部のコマンドはubuntu用に統一されています。
docker のインストール、
windows のインストール
linux
mac
1. docker 環境
2. php:7.2.4-fpm イメージ (これはプロジェクトの環境に基づく必要があります)
MySql の公式イメージ
dockerがオンになっている場合、dockerのバージョンはサーバー情報を出力します。オンになっていない場合は出力されません。
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
<?php phpinfo();
[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
2.
これが私たちのやり方です 拡張機能はインストールされました
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 这样就开启了这个扩展
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
このようにして、コンテナ名を自分で定義することができます
問題を詳しく説明してください。それ以外の場合は無視してください。 。
上記はこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項: 最も有用な 6 つの開発環境推奨事項を構築するための
php ローカル開発環境以上がPHP ローカル開発環境 Docker のインストールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。