centos7作为Docker基础镜像须知

版权声明:本文为博主原创文章,欢迎分享到其它技术社区,分享请标明出处: https://blog.csdn.net/CHENYUFENG1991/article/details/79839184
  • centos7基础镜像Dockerfile来构建mysql镜像可能会有问题,在Docker hub上构建失败:
Build failed: The command '/bin/sh -c /etc/init.d/mysqld start && mysql -e "grant all privileges on *.* to 'root'@'%' identified by '123456' WITH GRANT OPTION ;"&& mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456' WITH GRANT OPTION ;"&& mysql -u root -p123456 -e "show databases;"' returned a non-zero code: 127



使用的Dockerfile如下:
# 基于centos7基础镜像
FROM centos:7
MAINTAINER chenyufeng "yufengcode@gmail.com"  
   
WORKDIR /home

# 使用yum的方式安装mysql;
RUN yum install -y mysql-server mysql  

# 安装完成以后,执行以下命令。配置用户名密码相关信息;
RUN /etc/init.d/mysqld start &&\  
    mysql -e "grant all privileges on *.* to 'root'@'%' identified by '123456' WITH GRANT OPTION ;" && \  
    mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456' WITH GRANT OPTION ;" && \
    mysql -u root -p123456 -e "show databases;" && \
    ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
    yum clean all

# 设置环境变量
ENV TZ Asia/Shanghai
   
# 镜像暴露3306端口;
EXPOSE 3306
   
# 容器启动后执行以下命令,启动mysql;
CMD ["/usr/bin/mysqld_safe"]



  • 同样centos7基础镜像来构建redis镜像也会有同样的问题:
Build failed: The command '/bin/sh -c make && make install' returned a non-zero code: 127



使用的Dockerfile如下:
# 基于centos7基础镜像
FROM centos:7
MAINTAINER chenyufeng "yufengcode@gmail.com"

WORKDIR /home

# 安装redis
RUN yum install -y wget gcc && \
        rpm --rebuilddb && \
        yum install -y tar && \
        tar -xvzf redis-stable.tar.gz && \
        mv redis-stable/ redis && \
        rm -f redis-stable.tar.gz && \
        ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
        yum clean all

WORKDIR /home/redis

RUN make && make install

# 设置时区的环境变量
ENV TZ Asia/Shanghai

# 把工作目录切换到/home下
WORKDIR /home

# 开放端口
EXPOSE 6379

# 启动容器后执行以下命令
ENTRYPOINT redis-server /home/redis/redis.conf

CMD ["redis-server"]





注意点
  • 推荐使用centos6基础镜像,而不用centos6.7等,因为centos6会有不断的更新,更加稳定。
  • 不推荐使用centos7,会有很多坑。所以就选择centos6好了。

没有更多推荐了,返回首页