Docker初體驗(php開發環境)

2021-09-26 09:19:07 字數 2947 閱讀 5623

一、 什麼是docker?

docker是乙個開源的引擎,可以輕鬆的為任何應用建立乙個輕量級的、可移植的、自給自足的容器。

開發者在筆記本上編譯測試通過的容器可以批量地在生產環境、測試環境、預發布環境 中部署。

二、 為什麼要用docker?

docker 讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上,便可以實現虛擬化。docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入docker中進行管理。方便快捷已經是 docker的最大優勢,過去需要用數天乃至數週的 任務,在docker容器的處理下,只需要數秒就能完成。

一方面,雲計算時代到來,使開發者不必為了追求效果而配置高額的硬體,docker 改變了高效能必然**格的思維定勢。docker 與雲的結合,讓雲空間得到更充分的利用。不僅解決了硬體管理的問題,也改變了虛擬化的方式。

三、 docker初體驗(php開發環境)

docker安裝教程忽略,有興趣請檢視以下鏈結

mac :centos :
(一)、 建立容器

docker run  -itd  -p 80:80  --name nginx  \-v /users/***/docker/www/:/usr/share/nginx/ \-v /users/***/docker/nginx/conf/:/etc/nginx/conf.d/    \--privileged=true  -d nginx
docker run  -p 9000:9000  --name php5-6  \-v /users/***/docker/www/:/usr/share/nginx/ \-v /users/***/docker/php/conf/:/usr/local/etc/php/  \-d php:5.6-fpm
docker exec -it php容器 /bin/bash  #進入php容器docker-php-ext-install pdo_mysql  # 安裝pdo
docker run -p 3306:3306 --name mysql5.6 \-v /users/***/docker/mysql/conf:/etc/mysql/conf.d  \-v /users/***/docker/mysql/logs:/logs \-v /users/***/docker/mysql/data:/var/lib/mysql \-e mysql_root_password=123456 \-d mysql:5.6# 連線mysqlmysql -h mysql容器ip  -u root -p ***
# 進入到redis容器,執行命令列docker exec -it 容器名稱 redis-cli -h 172.17.0.5 -p 6379 -a your_password

(二)、容器常用操作

docker ps -a #檢視所有容器docker ps  #檢視開啟的容器
docker start nginxdocker start 容器名稱
docker exec -it 容器名稱 /bin/bash  #進入dockerexit  #退出
docker inspect 容器名稱或 id  #檢視容器ip
ps:

1、每次重啟docker軟體,啟動容器後,各容器的ip都會變化,因此需要特別留意;

2、需要檢查nginx站點配置裡的fastcgi_pass ip 為php容器的ip;**中鏈結資料庫host為mysql容器的ip;

(三)、nginx配置

serverlocation ~ .*\.(php|php5)?$error_page 404 = /404.php;location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$location ~ .*\.(js|css)?$location ^~ /daemon}
(四)、其他

apt-get update  # 同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引。這樣才幹獲取到最新的軟體包。apt-get install vim #安裝vim
docker commit -m  ""   -a  ""   容器id(可以簡寫)  映象名稱#-m  提示資訊    -a  作者docker commit -m  "nginx"  -a "***" d7537e914c48 nginx0731a
ps:

Docker技術初體驗

什麼是docker docker技術和虛擬機器技術類似,他們都能在乙個host系統中劃分出多個相互獨立隔離的執行環境。借助官方配圖 虛擬機器的示意圖是這樣的 我們需要為每個虛擬機器安裝自己的作業系統,即使我們只是想在裡面執行乙個應用。然後需要去對每個作業系統進行管理。再看看docker的示意圖 do...

Docker的初體驗

這幾天搗鼓了一下docker,是真的麻煩啊,網上資料比較雜亂,也很多英文,學起來挺多問題的 在控制面板 程式 啟用或關閉windows功能,在彈出框中勾選hyper v,會需要重啟啟用,這貌似是乙個虛擬機器功能 docker toolbox,這是乙個帶虛擬機器,docker之類的整合工具包 win1...

docker安裝mongo初體驗

8 到此啟動好了mongo,但是我怎麼進入mongo呢?故此,需要進入容器,命令如下 docker exec it 容器id bin bash 進入容器 9 進入之後,可以通過如下命令依次建立使用者和庫 mongo use admin db.createuser 建立使用者,此使用者建立成功,則後續...