이 글은 주로 PHP 로컬 개발 환경의 Docker 설치를 소개합니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들은 이를 참조할 수 있습니다.
Lu Xun: 그렇지 않습니다. 제품 프로그램을 만들고 싶지 않습니다. 직원은 판매하기가 쉽지 않습니다.
많은 사람들이 도커를 구성할 때 디렉터리 구조와 구성 문제를 이해하지 못하여 많은 혼란을 겪게 됩니다.
하지만 얘야, 이 글을 읽으면 네 말이 맞아. 나는 여러분을 도커 피트로 빠르게 안내하기 위해 "짧고 간결한" 언어를 사용할 것입니다. 귀하의 가치관과 일치하지 않는 내용이 기사에 기록되어 있을 수 있습니다. 작은 주먹을 사용하여 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를 설치해야 합니다. 두 컨테이너 간의 대화형 통신을 위해서는 컨테이너 간에 -link가 필요하기 때문입니다. 그렇지 않으면. 헤헤, 알잖아요. MySQL은 PHP로 연결할 수 없습니다. 명령 설명은 다음과 같습니다. .
대상 컴퓨터가 우분투 시스템이기 때문에 이 글에 나오는 명령어 중 일부는 우분투용으로 통일되어 있는 것 같은데, 다른 시스템과 호환되지 않는 부분은 없는 것 같습니다.
docker 설치,
windows 설치
linux
mac
1.docker 환경
2.php:7.2.4-fpm 이미지(프로젝트 환경에 따라 다름) 공식 이미지
3. 기분에 따라) 설치 여부)
(재밌음) 일부 독자들은 nginx|apache가 작업을 단순화하기 때문에 왜 안 되냐고 물을 수도 있습니다. 이를 통해 설치를 더 빠르게 시작할 수 있고 코드를 더 빠르게 작성할 수도 있습니다.
docker를 다운로드한 후 docker를 시작하세요
docker가 켜져 있으면 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
앱 디렉토리에 새로운 index.php를 생성합니다
<?php phpinfo();
127.0.0.1:8080을 열면 익숙한 phpinfo
확장 프로그램을 설치할 필요가 없다면 주의사항을 참고해주세요! ! !
여기에서는 확장 프로그램을 설치하는 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
여기서 도커 이름이 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 这样就开启了这个扩展
2. 컨테이너를 중지하기 위한 docker stop 컨테이너 이름
3. 컨테이너를 종료하기 위한 docker kill 컨테이너 이름
이런 식으로 컨테이너 이름을 스스로 정의할 수 있습니다
기억하세요: 이 문서는 로컬 개발 환경에만 적용됩니다.
위 내용은 이 글의 전체 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 참고해주세요. 관련 권장 사항:최고의 6개발 환경 권장 사항을 구축하기 위한 PHP 로컬 개발 환경
위 내용은 PHP 로컬 개발 환경 Docker 설치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!