安裝 docker
安裝方法:https://hub.docker.com/?overlay=onboarding
文件手冊:https://docs.docker.com/docker-hub/
安裝完成後使用命令檢視版本
$ docker --version
下載映象
1、拉取需要的映象
去 hub.docker.com 拉取需要的映象
2、檢視拉取方法
3、轉到終端介面
拉取映象
$ docker pull centos
檢視映象
$ docker images
使用映象建立容器
使用映象建立一個容器,並掛在到本地目錄(用於檔案同步)
$ docker run -it -d -p 1234:80 -v /usr/local/var/www/docker/php:/usr/share/nginx/html --privileged --name centos-php7.4 centos /usr/sbin/init
引數 | 釋義 |
---|---|
run | 啟動容器的命令 |
-it | i:互動模式 t:終端 |
-d | 後臺執行 |
-p 1234:80 | 埠代理 1234 為本地埠,80 為容器內服務埠 |
/usr/local/var/www/docker/php:/usr/share/nginx/html | /usr/local/var/www/docker/php:本地路徑,/usr/share/nginx/html:容器內路徑;將本地和容器目錄同步,之後可以直接在本地編寫程式碼測試;/usr/share/nginx/html 是 yum 安裝 nginx 服務的預設目錄,如過其他方式安裝請自行更換 |
--privileged | 容器內預設使用 root 登入 |
--name centos-php7.4 | 自定義你的容器名稱 |
centos | 你的映象名稱 |
/usr/sbin/init | centos 預設啟動項 |
啟動成功後會返回容器 id
連線容器
$ docker exec -it a75482c765e5febee126 /bin/bash
之後可以安裝自己想要安裝的服務比如安裝一個 nginx 和 php 7.4。不管安裝什麼,第一步
$ yum update -y
配置容器對外埠
可以使用 nginx 來代理對外的 80 埠
1、安裝 net-tools 工具
$ yum install -y net-tools
2、檢視網路埠
3、如果您的埠監聽正常,就可以在你的本地訪問 http://localhost:1234
4、安裝 php 7.4
通過 yum 快速安裝,大家可以參考這個連結 https://computingforgeeks.com/how-to-insta...
注意安裝完成後將 /etc/php-fpm.d/www.conf 中的 listen 改為 埠監聽,否則會出現許可權問題
容器轉成本地映象,推送到 hub.docker.com
容器配置完成後,你甚至可以將其 push 到你的 hub.docker.com 上,之後別人也可以直接下載你的映象
1、將容器匯出為本地檔案(我的理解是快照)
檢視容器列表
$ docker ps -a
$ docker export a75482c765e5febee126 > ~/Study/docker/study-php7.4
2、匯入本地快照
$ cat ~/Study/docker/study-php7.4 | docker import - wangfeiyang/centos-php7.4
3、推送到 hub.docker.com
$ docker push wangfeiyang/centos-php7.4
4、檢視
$ docker images
注意事項
1、使用 docker 建立的容器,預設什麼服務或者軟體都沒有需要自己安裝
2、連線容器後,安裝的服務或者軟體預設都不會跟隨容器的啟動而啟動;可以配置 linux 啟動項來完成此目的
使用 yum 安裝的服務或者軟體可以通過這個命令來將它設為自啟動,
$ systemctl enable nginx
同樣,也可以編寫 自啟動指令碼
````
$ vi /etc/rc.d/rc.local
````
![本地使用 docker 快速搭建一個 PHP7.4 學習環境](https://cdn.learnku.com/uploads/images/201912/29/35213/WDrHRCjoL7.png!large)
然後換行寫入需要啟動的命令就好了比如
3、確保容器掛載目錄和本地同步目錄擁有其相應許可權,否則無法實時編寫程式碼
目前正在學習 docker 中,希望可以和大家一起交流交流(一幾我裡giao ?????)