1. 程式人生 > >Docker nginx+php+memcache安裝遇到的幾個小問題

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