Docker包含三個概念:(1)遠程倉庫即遠程鏡像庫所有鏡像的聚集地(不可進入操作)。(2)本地鏡像即從遠程倉庫拉取過來的鏡像(3)運行起來的本地鏡像叫做容器(分層的可操作)Docker使用:1.首先通過第三方鏡像庫(c.163.com)拉取相應的信息比如centos,ubuntu,tomcat等作 ...
Docker包含三個概念:
(1)遠程倉庫即遠程鏡像庫所有鏡像的聚集地(不可進入操作)。
(2)本地鏡像即從遠程倉庫拉取過來的鏡像
(3)運行起來的本地鏡像叫做容器(分層的可操作)
Docker使用:
1.首先通過第三方鏡像庫(c.163.com)拉取相應的信息比如centos,ubuntu,tomcat等作為基礎鏡像。
Docker pull xxxx
2.運行下載好的鏡像。
Docker run -dt -p 宿主機埠:鏡像埠 --name起一個名字 鏡像id/鏡像名字 bash
-d 後臺運行
-t 生成一個偽終端
-p 指定埠
--name 為運行的容器起一個名字
3.進入容器有兩種方法
(1)docker exec -it容器名字/容器id bash(ctrl+d退出時不會停止該運行的容器)
(2)Docker attach 容器名字/容器id (ctrl+d退出時會停止該運行的容器)
4.開始下載編譯環境所需的相應的工具和所需的依賴包
(1)yum安裝wget以及編譯的工具 yum install -y wget gcc gcc-c++ make openssl-devel
(2)更新國內yum源
Wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/xxx/
Xxx表示你要選擇的yum源
-O 下載並以不同的文件名保存
CentOS-Base.repo 表示命名的yum源
(3)下載各個版本的nginx版本
Wget http://nginx.org/download/xxx
Xxx表示你要選擇的nginx的版本
(4)下載pcre
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/xxx
Xxx表示選擇的版本
(5)更新yum確保最新的
Yum update
(6)下載php7
http://php.net/downloads.php
選擇版本,選擇國界
(7)把以上下載的東西全部粘貼到/usr/local/src 並且全部解壓
(8)編譯nginx
(1)創建nginx用戶
groupadd -r nginx
useradd -r -g nginx nginx
(2)編譯安裝nginx
cd xxx 切換到您的nginx目錄
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.37
./configure參數說明:
--prefix=指定文件的安裝目錄
--user=指定用戶
--group指定用戶組
--with-使用已有的軟體包和庫文件
Make && make install 出現問題自行百度
echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf #在nginx的配置文件裡加上這一行很關鍵,這樣nginx可以在docker啟動的時候在後臺運行!
(9)編譯php
(1)準備php的依賴包
yum install -y bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel
(2)進入php文件目錄
(3)開始編譯php
./configure --prefix=/usr/local/php --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr/local/libxml --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --enable-gd-native-ttf --with-openssl --with-fpm-user=www --with-fpm-group=www --with-libdir=lib64 --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --enable-xml --enable-shmop --enable-session --enable-ctype --with-iconv-dir --with-iconv
註:出現問題自行百度。
(4)make && make install
(5)準備php配置文件
cp php.ini-production /etc/php.ini
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
(6)修改配置文件
;daemonize = yes的註釋去掉,並把yes改為no
(7)安裝yar拓展
(1)安裝二進位打包協議msgpack
find / -name phpize 查找phpize是否存在
yum install php-devel
pecl install msgpack
註:出現問題自行百度
(2)下載yar wget http://pecl.php.net/get/xxx
Xxx表示版本 確定好與php版本對照這個很重要。
(3)解壓編譯tar -zxvf yar-2.0.0.tgz
(4)cd cd yar-2.0.0
(5)/usr/bin/phpize
(6)./configure --with-php-config=/usr/bin/php-config
(7)make && make install
(8)如果出現模塊未安裝可 php --ini 查看ini路徑相對調整,將extension=yar.so寫入配置文件
(9)docker commit -m "描述" -a "作者" 容器id 倉庫信息mydocker/nginx:版本信息v1
(10)docker save xxx > /home/save.tar
(11)Docker load xxx
如果編譯安裝過程中報錯,按照報錯提示的去用yum解決依賴關係;如果當前的yum源解決不了,那麼可以試試:
wget http://www.atomicorp.com/installers/atomic
chmod +x atomic
./atomic
yum install -y XXX XXX