ホームページ >運用・保守 >Docker >Docker のランプとは何ですか

Docker のランプとは何ですか

青灯夜游
青灯夜游オリジナル
2022-02-08 16:44:293514ブラウズ

Docker では、LAMP は Linux (オペレーティング システム)、Apache HTTP サーバー、MySQL (MariaDB などのデータベース ソフトウェア)、および PHP (Perl または Python) の組み合わせを指し、一般に Web サーバーを確立するために使用されます。環境。

Docker のランプとは何ですか

このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。

LAMP は、Linux (オペレーティング システム)、Apache HTTP サーバー、MySQL (MariaDB、データベース ソフトウェアを指すこともあります)、および PHP (Perl または Python を指すこともあります) の組み合わせを指し、一般に非常に適しています。 Webサーバー環境の構築に。

以下では、Docker を使用して LAMP コンポーネントを含むコンテナーを構築する方法を説明します。

LAMP イメージのダウンロード

Docker Hub で収集または頻繁に使用される LAMP イメージを検索します。著者は、tutum/lamp イメージを選択することをお勧めします:

# sudo docker search -s 10 lamp
tutum/lamp              Out-of-the-box LAMP image (PHP+MySQL)           67 

执行docker pull命令,下载镜像:
 # sudo docker pull tutum/lamp

デフォルトの方法を使用して LAMP コンテナを開始します

ダウンロードしたイメージを使用してコンテナを開始し、コンテナの 8080 ポートと 3306 ポートをマッピングします:

# sudo docker run -d -p 8080:80 -p 3306:3306 tutum/lamp
# docker ps
使用curl命令测试,可以查看到默认的应用已经启动:
# curl http://127.0.0.1:8080

独自の PHP アプリケーションをデプロイする

デフォルトのコンテナは helloword アプリケーションを開始します。読者は Dockerfile を編集して、このイメージに基づいてカスタム LAMP アプリケーション イメージを作成できます。

ホスト上に新しい作業ディレクトリ ランプを作成します:

# mkdir lamp
# cd lamp
# touch Dockerfile

次の内容を含む Dockerfile ファイルを php ディレクトリに作成します:

FROM tutum/lamp:latest
RUN rm -fr /app &&git clone https://github.com/username/customapp.git /app
#这里将https://github.com/username/customapp.git 地址替换为你自己的项目地址
EXPOSE 80 3306CMD ["/run.sh"]

ミラーを作成し、dockerpool という名前を付けます/ my-lamp-app:

# docker build -t dockerpool/my-lamp-app .
利用新创建镜像启动容器,注意启动时候指定-d参数,让容器后台运行:
# docker run -d -p 8080:80 -p 3306:3306 dockerpool/my-lamp-app
在本地主机上使用curl看一下自己的应用程序是不是已经正确启动:
# curl http://127.0.0.1:8080/

PHP プログラムでデータベースに接続します

1. コンテナ内の MySQL データベースにアクセスします

ダウンロード済みtutum/lamp イメージ内の MySQL データベースにはすでにデフォルトの root ユーザーがあり、ローカル接続にはパスワードが必要ないため、コードでのデータベースへのアクセスは非常に簡単です:

<?php
$mysql = new mysqli("localhost", "root");
echo "MySQL Server info: ".$mysql->host_info;
?>

2. 外部の MySQL データベースにアクセスします。コンテナ

#デフォルトの MySQL データベースは root ユーザーのリモート ログインをサポートしていないため、root ユーザーがコンテナ外の MySQL データベースに直接アクセスすることはできません。

tutum/lamp イメージを初めて使用してコンテナを起動すると、admin という名前の MySQL ユーザーが自動的に作成され、ランダムなパスワードが生成されます。このパスワードは docker logs コマンドを使用して取得できます:

# sudo docker logs 9cb

管理ユーザーは root と同じ権限を持っていることに注意してください。

推奨される学習: 「

docker ビデオ チュートリアル

以上がDocker のランプとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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