dockerfile容器的实战安装nginx和mysql服务

第三章
实验:docker容器的实战
一. 基础环境
安装docker服务
1)配置网络yum源
[root@centos01 ~]# cd /etc/yum.repos.d/
[root@centos01 yum.repos.d]# rm -rf *
[root@centos01 yum.repos.d]# ls
[root@centos01 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
[root@centos01 yum.repos.d]# ls
CentOS7-Base-163.repo
在这里插入图片描述
2)安装docker服务
[root@centos01 ~]# yum -y install docker
在这里插入图片描述
3)启动docker服务设置开机自动启动
[root@centos01 ~]# systemctl start docker
[root@centos01 ~]# systemctl enable docker
在这里插入图片描述
4)检查版本
[root@centos01 ~]# docker version
在这里插入图片描述
5)rz导入镜像
[root@centos01 ~]# rz
在这里插入图片描述
6)导入镜像两种方式
[root@centos01 ~]# docker load --input ./centos6.7.tar
[root@centos01 ~]# docker load < centos6.7.tar
在这里插入图片描述
二. dockerfile安装nginx

  1. 创建存储dockerfile目录
    [root@centos01 ~]# mkdir nginx
    在这里插入图片描述
  2. 移动源代码存储到dockerfile目录
    [root@centos01 ~]# cp /mnt/nginx-1.6.0.tar.gz ./nginx/
    在这里插入图片描述
  3. 创建dockerfile
    [root@centos01 nginx]# touch dockerfile
    在这里插入图片描述
  4. 编辑dockerfile文件安装nginx
    [root@centos ~]# vim ./nginx/dockerfile

FROM hub.c.163.com/public/centos:6.7-tools //基础镜像
MAINTAINER 2211348671@qq.com //作者信息

RUN rm -rf /etc/yum.repos.d/Centos-* //删除系统yum源
RUN wget -o wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo//更新阿里云源
RUN yum -y install epel-release pcre-devel zlib-devel gcc //安装nginx依赖程序

ADD nginx-1.6.0.tar.gz /usr/src/ //添加解压程序到/usr/src/目录
RUN useradd -M -s /sbin/nologin nginx //创建用户

WORKDIR /usr/src/nginx-1.6.0/ //进入目录

RUN ./configure --user=nginx --prefix=/usr/local/nginx --with-http_stub_status_module && make && make install //配置安装nginx
RUN echo “daemon off;” >> /usr/local/nginx/conf/nginx.conf //配置nginx保持运行
ENV PATH /usr/local/nginx/sbin:$PATH //优化nginx命令

EXPOSE 80 //发布80端口

CMD [“nginx”] //启动nginx服务
在这里插入图片描述
5. 构建nginx镜像并验证
[root@centos01 nginx]# docker build -t nginx:v1.0 .
在这里插入图片描述
在这里插入图片描述
[root@centos01 nginx]# docker images
在这里插入图片描述
映射验证服务
[root@centos01 nginx]# docker run -it -d -p 80:80 nginx:v1.0
在这里插入图片描述
客户端访问192.168.100.10验证
在这里插入图片描述
三. dockerfile安装mysql

  1. 创建存储dockerfile目录
    [root@centos ~]# mkdir mysql
    在这里插入图片描述
  2. 移动源代码存储到dockerfile目录
    [root@centos ~]# cp /mnt/mysql -5.5.22.tar.gz /mnt/cmake-2.8.6.tar.gz ./nginx/
    在这里插入图片描述
  3. 创建dockerfile文件和mysqld.sh启动服务文件编辑安装mysql
    [root@centos mysql]# vim dockerfile

FROM hub.c.163.com/public/centos:6.7-tools //基础镜像
MAINTAINER 2211348671@qq.com //作者信息

RUN rm -rf /etc/yum.repos.d/Centos-* //删除本地yum源
RUN wget -o wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo //更新阿里云源
RUN yum -y install epel-release ncurses-devel libstdc+±deve gcc-c++ //安装依赖程序

RUN groupadd mysql //创建mysql组
RUN useradd -M -s /sbin/nologin -g mysql mysql //创建mysql用户

ADD cmake-2.8.6.tar.gz /usr/src/ //添加解压程序到/usr/src/目录
ADD mysql-5.5.22.tar.gz /usr/src/ //添加解压程序到/usr/src/目录

WORKDIR /usr/src/cmake-2.8.6 //进入目录
RUN ./configure && gmake && gmake install //编译安装
WORKDIR /usr/src/mysql-5.5.22 //进入目录
RUN cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc && make && make install //编译安装mysql服务

RUN chown -R mysql:mysql /usr/local/mysql/ //设置目录所有者mysql
RUN cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf //生成主配置文件
RUN ln -s /usr/local/mysql/bin/* /usr/local/bin //优化命令
RUN cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld //生成服务控制文件
RUN chmod u+x /etc/init.d/mysqld //添加执行权限
RUN chkconfig --add mysqld //设置开机自动启动
RUN chkconfig mysqld on
RUN /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //初始化mysql服务
COPY mysqld.sh /usr/src/ //运行服务启动脚本
RUN chmod +x /usr/src/mysqld.sh //设置执行权限
EXPOSE 3306 //端口发布3306
CMD “/usr/src/mysqld.sh” && tail -f /dev/null //启动服务报的信息显示到/dev/null回收站
在这里插入图片描述
[root@centos01 mysql]# vim mysqld.sh

#!/bin/bash
/etc/init.d/mysqld start //启动mysql服务
在这里插入图片描述
4. 构建mysql镜像验证
[root@centos01 mysql]# docker build -t mysql:v1.0 .
在这里插入图片描述
5. 端口映射验证是否能监听到3306mysql端口
[root@centos01 ~]# docker run -it -d -p 3306:3306 mysql:v1.0
[root@centos01 ~]# netstat -anptu | grep 3306
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值