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

2023-05-16

第三章
实验: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
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dockerfile容器的实战安装nginx和mysql服务 的相关文章

  • 数据库查询50道题

    创建四张表 student sc course teacher CREATE DATABASE db 2 CHARSET 61 39 utf8 39 USE db 2 Student Sid Sname Sage Ssex 学生表 DROP
  • 如何使用Python实现图像文字识别OCR

    要使用Python实现图像文字识别OCR xff0c 可以使用以下步骤 xff1a 安装Tesseract OCR引擎 Tesseract是一种开源OCR引擎 xff0c 可以处理多种语言和字体 要使用Python进行OCR xff0c 需
  • C#获取指定日期所在周、月、年的第一天和最后一天

    需求 xff1a 给定一个日期 xff0c 获取日期所在周的周一 周日 xff0c 获取日期所在月的第一天和最后一天 xff0c 获取所在年份的第一天和最后一天 代码如下所示 span class token comment lt summ
  • STM32+W5500网络通信

    目录 一 W5500介绍二 资源分享三 例子程序四 实现应用层modbus httpd协议编程 xff08 一 xff09 modbus xff08 二 xff09 HTTPS 五 总结六 参考链接七 modbus和HTTPS源码 一 W5
  • 服务器部署code-server

    部署code service 思路 1 租用服务器 2 部署code service 3 映射端口 xff0c 修改配置文件 4 让服务一直挂在后台 5 配置C C 43 43 环境 购买服务器 xff0c 部署宝塔面板 这里采用腾讯的云服
  • Arch 中 fcitx5 提示拼音不可用的解决过程

    Arch 中 fcitx5 提示拼音不可用的解决过程 问题描述 xff1a 按照 Fcitx5 ArchWiKi 安装 fcitx5 后不能输入中文 xff0c 提示拼音不可用 查找解决办法 首先查看环境变量设置是否正确 xff1a etc
  • Vue3 setup函数的使用

    全新的 setup 函数 在开始编写 Vue 组件之前 xff0c 需要了解两个全新的前置知识点 xff1a 全新的 setup 函数 xff0c 关系到组件的生命周期和渲染等问题 写 TypeScript 组件离不开的 defineCom
  • Stm32的按键控制流水灯

    对于stm32的设置首先是对时钟进行启动 要求 xff1a key0控制LED0和LED1的亮 key1控制LED0和LED1的亮 kw up控制闪灯 led c span class token macro property span c
  • 头文件之间存在依赖关系该如何包含?

    本文旨在探讨头文件之间存在依赖关系时 xff0c 包含顺序的影响 分两种情况讨论 xff1a 头文件A单方面依赖头文件B xff1a struct h xff1a struct abc int num char ptr def h xff1
  • 单片机入门(利用中断控制流水灯的走向)--适合初学者

    电路图 点击下载 xff08 下载时可能会提醒不安全 xff0c 其实没事 xff0c 本博主是放在自己服务器上面 xff09 代码 span class token macro property span class token dire
  • python实现微信公众号定时消息提醒-手把手教你将代码部署到云端

    这两天微信公众号消息提醒蛮火的 xff0c 我也来蹭一下热度 xff0c 我们的主题是考研倒计时 xff0c 顺便也发一发天气预报 思路 xff1a 获取我们需要的数据 xff0c 比如天气信息 然后去微信公众平台注册一个测试号 xff0c
  • 【章节自测】第三章——顺序程序设计

    第三章 顺序程序设计 学校的老师在上程序设计这门课时 xff0c 给我们每一章指定了一些学习目标 xff0c 用于课前的预习和课后的具体检测复盘 xff0c 因为每一个目标都是具体可测的 xff0c 而只要所有的目标你都能达成 xff0c
  • C语言-进程——信号量

    system V的信号量其实是一个信号量数据 xff0c 一个sysyem V代表的是一个或多个信号量元素 信号量本质上是一个数字 xff0c 用来表征一种资源数量 xff0c 当多个进程或线程争夺这些稀缺资源的时候 xff0c 信号量用来
  • python将包(第三方库)安装到指定目录

    一 在指定目录安装python第三方库 target 61 D software anaconda envs PyTorch Lib 这里的target后面跟的是你python安装环境的lib目录 二 用指定源安装python库 这里用到了
  • Dockerfile详解

    Dockerfile 文章目录 基本结构指令详解FROMRUNLABEL MAINTAINERCOPYADDCMDENTRYPOINTENVARGVOLUMEEXPOSEWORKDIRUSERHEALTHCHECKONBUILD 创建镜像上
  • c++调用yolov4模型进行目标检测-使用opencv4.4.0

    前言 最近刚出的opencv4 4 0也支持了yolov4 xff0c 便尝试用opencv调用yolov4进行检测 xff0c 做个记录 当然 xff0c yolov3 yolov4 tiny等也能调用 xff0c 只需修改加载的cfg和
  • c++调用yolov4模型进行目标检测-使用yolov4官方接口

    前言 yolo系列用c写的 xff0c 在工程中的部署特别方便 4月份yolov4横空出世 xff0c 之前试了试效果 xff0c 精度确实有了很大的提升 xff0c AB大神nb 最近需要在C 43 43 项目中使用yolov4 xff0
  • Ubuntu 20.04安装Anaconda3及简单使用

    1 Anaconda安装包下载 xff08 1 xff09 官网下载 xff0c 下载速度较慢 xff08 2 xff09 清华大学开源软件镜像站 2 安装Anaconda xff08 1 xff09 进入文件下载目录 span class
  • 线性回归推导(二)--求闭式解法及纯python实现

    1 假设函数矩阵表示 定义样本 xff08 m个样本 xff0c 每个样本有n个特征 xff09 X 61
  • VMware 开启笔记本摄像头

    环境 xff1a VMware安装CentOS8 笔记本 xff1a windows11 一 在windows系统中打开服务 xff08 Win 43 R 输入services msc xff09 xff0c 找到VMware USB Ar

随机推荐