耗時一週零三天,終於用docker搭建起本身的開發環境。
詳細過程:請參考分解docker在lnmp環境搭建中的做用
下面說說個人心路歷程:(從一個系統提及deepin)
Ubuntu16.04用的好好地,忽然看見17.10發佈了,界面還挺好看。果斷升級爲17.10。而後發現,界面看着漂亮,用的時候很難受,快捷鍵和16.04也不太同樣,裝的軟件各類打不開。通過深思熟慮我就換成deepin,各類常見的軟件都能裝,好比QQ,微信,搜狗等等,美滋滋。來搭建一下環境lnmp,而後,桌面沒了。查了一下資料,說deepin桌面版不能裝。心想,弄個虛擬機吧,能夠各類折騰,折騰壞了重建就好了。想到最近docker很火,果斷入坑。php
第一階段:找教程
極客學院這個不錯,各類概念講的很清楚,建議新學者直接通讀一遍再動手。還有,不要全看,若是隻是想我同樣想在本地搭建docker環境。我給你總結幾點:html
第二階段:安裝docker
安裝我就不說了,着重說一下docker加速器阿里雲加速器mysql
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://4qqg0972.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
第三階段:學習命令
第四階段:找別人搭建的lnmp Docker搭建可一鍵部署的多域名LNMP環境
第五階段:看完以後滿腦殼爲何?開始研究,最後質疑別人搭建的
第六階段:仍是用別人搭建好的(本身搭建不出來)
第七階段:發現和本身的需求不一致,配置文件對不上
第八階段:本身搭
第九階段:以爲本身搭建的很好,在這寫個教程,哈哈linux
總結:這些階段是做者真實經歷過的,可能還比這個多。做爲過來人,我只想說,必定要只作一件事,不要過多的去研究,咱們只是想搭建本地運行環境。nginx
第一步:docker pull centos # 拉取官方centos鏡像
第二步:docker run -it --name 'lnmp-self' centos /bin/bash # 建立並運行容器
第三步:使用lnmp一鍵安裝包
第四步:docker commit -a 'amor' -m 'lnmp' b7515f3e6a82 lnmp:1.4 # 基於已有鏡像的容器建立新鏡像
第五步:建立Dockerfile進行微調,可能須要安裝新軟件等
第六步:經過docker-compose 進行管理,開放端口,掛載數據卷(掛載配置,項目目錄)web
這樣作有如下幾點好處:sql
下面附上本身的Dockerfile,docker-compose內容,請在第五步和第六步以後參考
Dockerfiledocker
FROM lnmp:1.4 MAINTAINER amor (zhushaolong@ydsdnet.com) # ssh RUN yum install openssh-server -y RUN mkdir -p /data/website/ CMD ["lnmp", "start"]
docker-composeshell
lnmp: build: . ports: - "80:80" - "443:443" - "22:22" volumes: # nginx 配置文件夾 - ./conf/nginx/:/usr/local/nginx/conf/ # mysql 配置文件 - ./conf/mysql/my.cnf:/etc/my.cnf:rw # php配置文件 - ./conf/php/:/usr/local/php/etc/ # 項目目錄 - /data/Nutcloud/Ubuntu/website/:/data/website/ tty: true
目錄結構(僅供參考)json
. ├── conf │ ├── mysql │ ├── nginx │ └── php ├── docker-compose.yml └── Dockerfile