@liuximing
2018-04-10T18:30:21.000000Z
字数 2489
阅读 138
Web
Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite,或者 2010 年以后的 Mac 机型,准确说是带 Intel MMU 虚拟化的,最低 4GB 内存。如果系统不满足需求,可以考虑安装 Docker Toolbox。
Docker ToolBox和Docker for Mac的区别就是它会通过VirtualBox创建一个Linux虚拟机来运行Docker,因此性能上会差一些(但毕竟不会用作生产环境,无所谓了)。笔者的系统是满足要求了,但硬件太老了,只能安装Docker Toolbox。直接从官网下载安装包安装,完成后会看到两个应用图标,分别是命令行工具和图形界面工具。

打开命令行工具,会看到Docker Toolbox为我们创建的虚拟机的IP地址,后面的操作都将在这个命令行工具下执行。

Docker 最低支持 CentOS 7。Docker 需要安装在 64 位的平台,并且内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。
Docker 官方为了简化安装流程,提供了一套安装脚本,CentOS 系统上可以使用这套脚本安装:
$ curl -sSL https://get.docker.com/ | sh
安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:
$ service docker start$ chkconfig docker on
这里采用了旧式的 sysv 语法,如采用CentOS 7中支持的新式 systemd 语法:
$ systemctl start docker.service$ systemctl enable docker.service
$ docker pull nickistre/centos-lamp$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx latest b8efb18f159b 2 days ago 107MBhello-world latest 1815c82652c0 6 weeks ago 1.84kBnickistre/centos-lamp latest b45f1e1c24ef 14 months ago 538MB
$ docker run -d -p 80:80 -p 3306:3306 nickistre/centos-lamp$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESd70bdc21e74d nickistre/centos-lamp "supervisord -n" 8 minutes ago Up 3 seconds 22/tcp, 0.0.0.0:80->80/tcp, 443/tcp, 0.0.0.0:3306->3306/tcp vigilant_wilson

$ docker exec -ti d70bdc21e74d bash[root@d70bdc21e74d /]#
# cat /etc/redhat-releaseCentOS release 6.6 (Final)# httpd -vServer version: Apache/2.2.15 (Unix)Server built: Mar 22 2016 19:03:53# php -vPHP 5.3.3 (cli) (built: Feb 9 2016 10:36:17)Copyright (c) 1997-2010 The PHP GroupZend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies# mysql --help|grep Distribmysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
编写Dockerfile
# Version 0.1FROM nickistre/centos-lamp:latestMAINTAINER liuximing42@gmail.com# Modify the Apache configuration to support PHPRUN sed -i "/LoadModule version_module modules/aLoadModule php5_module modules\/libphp5.so" /etc/httpd/conf/httpd.confRUN sed -i "/AddType application\/x-gzip .gz .tgz/aAddType application\/x-httpd-php-source .phps" /etc/httpd/conf/httpd.confRUN sed -i "/AddType application\/x-gzip .gz .tgz/aAddType application\/x-httpd-php .php" /etc/httpd/conf/httpd.confRUN sed -i "s/DirectoryIndex index.html index.html.var/DirectoryIndex index.php index.html index.html.var/g" /etc/httpd/conf/httpd.conf# Restart ApacheRUN apachectl restartEXPOSE 80 3306
构建新镜像
$ docker build -t sago/centos-lamp:v0.1 ./
docker run -d -p 80:80 -p 3306:3306 -v /Volumes/SSD/Applications/MAMP/htdocs/meet-server:/var/www/html sago/centos-lamp:v0.1