Ubuntu下安装docker的几点问题记录
1.要注意系统的内核和版本是否支持,内核最低要求为3.10,版本最低为12.04,这两点必须同时满足。
使用uname -a
查看系统内核
Linux jiang-PC 4.4.0-72-generic #93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
这里4.4.0-72则是内核的版本号
使用cat /etc/issue
查看系统版本号
Ubuntu 16.04 LTS \n \l
2.注意查看docker的日志记录
使用service docker start(或者systemctl docker start)启动docker时,没有任何输出提示,但是往后执行可能就发现docker没有正常启动,但是又不知道问题出在哪里。/var/log/upstart/docker.log记录了docker启动日志。
3.AppArmor的问题
AppArmor enabled on system but the docker-default profile could not be loaded。出现这个问题时,使用
apt-get install apparmor
即可解决
附一段webserver的Dockerfile:
# 这是服务器环境的Docker,会安装好php,nginx等环境,并且进行配置
# author:jiangpengfei
# date: 2017-04-19
FROM ubuntu:16.04
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common \
&& DEBIAN_FRONTEND=noninteractive apt-add-repository -y ppa:nginx/stable \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y nginx
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y php7.0
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y php-redis
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y php-mysql
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y php-imagick \
&& apt-get autoremove \
&& apt-get autoclean
# 上面是从ubuntu的源中安装必要组件,下面开始进行配置
RUN mkdir /var/www/family \
&& mkdir -p /var/log/nginx/access/ \
&& touch /var/log/nginx/access/default.log
COPY family /etc/nginx/sites-enabled
COPY start.sh /usr/local/bin
EXPOSE 9090 81
CMD ["start.sh"]