Docker では、LAMP は Linux (オペレーティング システム)、Apache HTTP サーバー、MySQL (MariaDB などのデータベース ソフトウェア)、および PHP (Perl または Python) の組み合わせを指し、一般に Web サーバーを確立するために使用されます。環境。
このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。

docker中rm和rmi的区别:rm命令用于删除一个或者多个容器,而rmi命令用于删除一个或者多个镜像;rm命令的语法为“docker rm [OPTIONS] CONTAINER [CONTAINER...]”,rmi命令的语法为“docker rmi [OPTIONS] IMAGE [IMAGE...]”。

docker官方镜像有:1、nginx,一个高性能的HTTP和反向代理服务;2、alpine,一个面向安全应用的轻量级Linux发行版;3、busybox,一个集成了三百多个常用Linux命令和工具的软件;4、ubuntu;5、PHP等等。

docker对于小型企业、个人、教育和非商业开源项目来说是免费的;2021年8月31日,docker宣布“Docker Desktop”将转变“Docker Personal”,将只免费提供给小型企业、个人、教育和非商业开源项目使用,对于其他用例则需要付费订阅。

docker容器重启后数据会丢失的;但是可以利用volume或者“data container”来实现数据持久化,在容器关闭之后可以利用“-v”或者“–volumes-from”重新使用以前的数据,docker也可挂载宿主机磁盘目录,用来永久存储数据。

AUFS是docker最早支持的存储引擎。AUFS是一种Union File System,是文件级的存储驱动,是Docker早期用的存储驱动,是Docker18.06版本之前,Ubuntu14.04版本前推荐的,支持xfs、ext4文件。

解决方法:1、停止docker服务后,利用“rsync -avz /var/lib/docker 大磁盘目录/docker/lib/”将docker迁移到大容量磁盘中;2、编辑“/etc/docker/daemon.json”添加指定参数,将docker的目录迁移绑定;3、重载和重启docker服务即可。

docker能安装oracle。安装方法:1、拉取Oracle官方镜像,可以利用“docker images”查看镜像;2、启动容器后利用“docker exec -it oracle11g bash”进入容器,并且编辑环境变量;3、利用“sqlplus /nolog”进入oracle命令行即可。

docker中的镜像会自动更新;可以利用Watchtower工具来自动更新镜像,Watchtower是一个可以监控正在运行的容器镜像是否更新的工具,当本地镜像与远程镜像有差异的时候,可以自动使用当前容器的运行参数以新镜像重新创建一个新的容器,并删除旧的容器。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版
中国語版、とても使いやすい

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック



