Docker nginx+php+memcache安裝遇到的幾個小問題
首先記錄下安裝步驟,然後介紹遇到的問題及解決辦法
1. Docker安裝
yum install docker
安裝完成後,使用下面的命令來啟動docker 服務,並將其設定為開機啟動:
#service docker start
#chkconfig docker on
2. Load生產環境的docker映象
docker load -i a.tar
進入計劃安裝映象的目錄,然後執行docker load命令,其中a.tar是所在業務的安裝映象tar包
3. 配置檔案程式碼同步
直接用rsync命令同步到放置配置檔案的目錄
4. 啟動容器
docker run -v /mnt/data1:/data1 -v /mnt/data1/vhost/:/usr/local/etc/vhost-v /mnt/data1/fpm.d:/usr/local/etc/fpm.d -d --net=host --name=nginx registry.XXX.image:1.6.3/usr/local/sbin/nginx -g 'daemon off;'
docker run -v/mnt/data1:/data1 -v /mnt/data1/vhost/:/usr/local/etc/vhost -v /mnt/data1/fpm.d:/usr/local/etc/fpm.d-v /mnt/data1/fpm.d/php.ini:/usr/local/lib/php.ini -d --net=host --name=php registry.XXX.image:1.6.3/usr/local/sbin/php-fpm -F
docker run -d--net=host --name=memcached registry.XXX.image:1.6.3/usr/local/bin/memcached -u www -m 4096 -l 127.0.0.1 -p 6666 -c 20000
上面的docker run命令詳解在此不詳述,主要是將宿主機的目錄跟容器中的工作目錄關聯起來,所以要根據自己實際安裝的宿主機路徑進行命令修改,name是容器的名字
可以使用下面的命令查詢容器的啟動情況,可能會由於路徑許可權或檔案許可權等啟動失敗。使用 docker rm -f 容器id 命令將錯誤的容器刪除,然後修改啟動容器命令重新嘗試啟動。
docker ps -a
5. 修改防火牆設定
容器啟動後,訪問服務內容,訪問受限,原因是防火牆沒有開啟,通過下面的命令查詢出被reject的INPUT和FORWORD鏈編號,然後將被reject的編號刪除掉
iptables -L INPUT --line-numbers列出指定的鏈的規則的編號來
iptables -L FORWARD --line-numbers
刪除鏈中被reject的規則:
iptables -D INPUT 編號
iptables -D FORWARD 編號
遇到的問題:
1. 磁碟分割槽空間不足
由於預設的主分割槽/dev/vda1空間不足,需要手動建立一個新的分割槽,並掛載到一個目錄下,然後在此目錄下完成第2、3步,下面敘述一下建立分割槽及掛載等步驟
fdisk /dev/vda 進入分割槽
輸入n 建立新分割槽
輸入p表示建立的主分割槽
一路預設回車
輸入p表示將磁碟剩餘空間都分到這個新分割槽
輸入w儲存分割槽資訊
執行 partprobe 使得新建的分割槽生效
執行 fdisk -l 命令檢視分割槽狀態,確認分割槽是否建立成功
格式化分割槽:mkfs.ext3 /dev/vda2
掛載分割槽:mount /dev/vda2 /
執行df -lh 確認掛載是否成功2. 重複掛載了根目錄 / ,導致docker啟動失敗
Error getting authority :Error initializing authority:Could not connect :no such file or directory (go -io -error-quark ,1)
原因:誤操作,重複掛載了根目錄
解決辦法:umount 根目錄,恢復預設根目錄掛載
umount -v /
3. 機器空間很快被docker佔滿,速度拖垮
原因:docker安裝後,預設的映象安裝空間是/var/lib/docker,第一分割槽/dev/vda1本來就小,docker預設給映象安裝目錄的虛擬空間配額又特別大
解決辦法:修改docker的映象安裝路徑
在新的磁碟分割槽掛載目錄下建立目錄,例如/mnt/docker ,在/var/lib下建立軟連結,連結到/mnt/docker
ln -s /mnt/docker docker 注意:要在/var/lib下執行
參考blog:1. 建立分割槽 http://linux008.blog.51cto.com/2837805/548711
相關推薦
Docker nginx+php+memcache安裝遇到的幾個小問題
首先記錄下安裝步驟,然後介紹遇到的問題及解決辦法 1. Docker安裝 yum install docker 安裝完成後,使用下面的命令來啟動docker 服務,並將其設定為開機啟動: #service docker start #chkconfig docker
maven docker 插件集成的幾個小坑
telnet service skip could 服務 request execution 系統 怎麽 昨晚看springboot視頻的時候,發現可以使用docker-maven-plugin這個插件直接build出 docker 鏡像到遠程服務器上,感覺很方便,於是自己
關於docker使用的幾個小問題
atm who edi tbb dram ++z bug dockerd 生成 由於剛接觸docker踩了幾個坑,希望本文對網癮少年有所幫助。 Docker分CE版(社區版)和EE版(商用版),具體安裝流程參考文檔介紹,在此不再贅述。下面分Windows和Linux分別踩
Memcached&PHP-Memcache安裝配置
params makefile fpm 可擴展性 spa 安裝配置 -i ref 取出 參考文檔: memcache官網:https://memcached.org/ 參考:http://www.runoob.com/memcached/memcached-install
PHP時間戳的問題幾個小示例
北京時間 content date def 當前 時間戳 day 問題 獲得 <?php header("Content-type:text/html;charset=utf-8"); //設置北京時間為默認時區 date_default
memcache緩存服務器(nginx php memcache mysql)
memcachememcache緩存服務器(nginx php memcache mysql)環境:192.168.1.23 nginx+php192.168.1.28 memcache192.168.1.27 mysql一、安裝 nginx (192.168.1.23)1、解壓 zlib 和pcre
容器(docker)中執行java需關注的幾個小問題
簡介 container: 資源隔離、平臺無關, 限制cpu、mem等資源 java不知道自己執行在container裡,以為它看到的資源都能用。結果:java工作在資源充足的 詳述 程式執行的兩個核心資源:cpu和mem,其他資源或許也有限制,
docker筆記2---docker-nginx-php-mysql使用記錄
準備工作 刪除所有容器和映象 [email protected]:~/docker-nginx-php-mysql$ docker rm $(docker ps -aq) [email protected]:~/docker-nginx-ph
centos7+nginx+php+mysql 安裝教程
安裝php yum -y install epel-release rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum -y install php56w php56w-mysql p
ubuntu下Nginx+php(fastcgi)安裝配置
2010-09-27 周海漢 2010.9.27 http://abloz.com/2010/09/27/ubuntu-under-nginx-php-fastc.html 都說nginx比apache效率高很多,所以在ubu
安裝Oracle Grid的過程中用到的幾個小技巧
1.利用檔案來模擬塊裝置 在grid的安裝教程中有一步是 provision the disk devices for use with ASM Filter Driver。但是如果我們沒有多個磁碟怎麼辦,這時可以這樣, 先dd出幾個檔案,例如: dd bs=30M count=1024 i
php連線mongoDB的幾個問題
連線方法網上有很多,在此就不多此一舉了,主要記錄一下遇到的問題。 選擇資料庫時可通過如下語句: $mongo = new Mongo("mongodb://127.0.0.1:27017/admin:admin"); $db = $mongo->dbName。 這
ubuntu下nginx+PHP-FPM安裝配置
安裝nginx apt-get install nginx 配置nginx 位置: /etc/nginx/nginx.conf ,其中包含了 include /etc/nginx/conf.d/*.conf; include
學習Python爬蟲,你不安裝這幾個常用的庫?
1:urllib urllib.request 這兩個庫是python自帶的庫,不需要重新安裝 在python中輸入如下程式碼: 返回結果為HTTPResponse的物件: <http.client.HTTPResponse obje
虛擬機器安裝遇到的幾個小問題及解決方法
1.必須注意硬碟預留100G空間==,慘痛遭遇不忍贅述。 2.安裝時提示缺失vmnetBridge.dll,下載可得。vmnetbridge.dll是屬於VMware Workstation虛擬機器軟體中的一個重要dll檔案,用於建立虛擬網路橋接時的資料檔案。
PHP取陣列中幾個數值求和等於指定值的演算法
沒有找到PHP版本的 貼一下參考C#的 $_arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); function getSetBySum($_array, $_sum, $_index, $_current, $_return=''
nginx+php+memcache Fatal error: Class 'Memcache' not found
安裝過程: (nginx+php已經安裝完成,僅寫與memcache相關步驟) [[email protected] src]# yum install libevent libevent-devel [[email protected] src]# w
docker nginx實現一個主機部署多個站點
在某站租賃的虛擬機器快到期了,續費得花200多,想到在阿里雲新買的伺服器,不如把這個也轉移過去。域名我就用真實的吧,大家別黑我網站就好了,謝謝各位了。 阿里雲裡面已經用部署了一個站點 用域名 www.dcssn.com 就能直接訪問,我的想法是再用 www.xhxf119.
運維筆記43 使用saltstack配置完整線上服務(haproxy+keepalived,nginx+php+memcache,mysql主從)
概述: 之前我們所介紹過了很多實用的服務,有負載均衡類的,web服務類的,資料庫類的等等,這些服務有的配置容易,有的配置困難,那我們現在設想一下在生成環境中,有上百臺,甚至上千臺伺服器的情況下,難道要我們去挨個去配置每一臺伺服器嗎,這是無法想象的,所以有了sa
linux 下 docker NGINX+PHP+MYSQL+REDIS+Elasticsearch 開發環境搭建
docker-compose 安裝請看此連結 其他 一步步跟我做,搭建屬於自己的 docker 開發環境 作者:風來了.fox nginx 1.8.0 php 5.6.x 1.docker 安裝 1.1 ubuntu 14.x 15.x