docker使用centos镜像,编译安装nginx

  • 1. 拉取镜像
  • 2. 运行centos容器
  • 3. 安装依赖包
  • 4. 下载nginx的tar包
  • 5. 解压nginx的tar包
  • 6. 创建nginx用户
  • 7. 创建日志目录,并设置为nginx用户
  • 8. 编译安装nginx
  • 9. 设置环境变量
  • 10. 启动nginx报错如下内容
  • 11. 将当前容器生成nginx镜像并上传

1. 拉取镜像

[root@localhost ~]# docker pull centos

2. 运行centos容器

[root@localhost ~]# docker run --name centos01 -it centos

3. 安装依赖包

[root@a4f6f126ac72 /]# yum -y install make gcc gcc-c++ openssl-devel pcre zlib openssl gd-devel wget pcre-devel

4. 下载nginx的tar包

[root@a4f6f126ac72 /]# wget http://nginx.org/download/nginx-1.20.1.tar.gz也可以使用下面的方法
// 将本地的包传到容器
[root@localhost ~]# docker cp /root/nginx-1.20.1.tar.gz a4f6f126ac72:/root  //包的位置加容器的id+容器目录

5. 解压nginx的tar包

[root@a4f6f126ac72 ~]# tar xf nginx-1.20.1.tar.gz -C /usr/local/

6. 创建nginx用户

[root@a4f6f126ac72 local]# useradd -r -M -s /sbin/nologin nginx

7. 创建日志目录,并设置为nginx用户

[root@a4f6f126ac72 local]# mkdir -p /var/log/nginx
[root@a4f6f126ac72 local]# chown -R nginx.nginx /var/log/nginx/

8. 编译安装nginx

[root@a4f6f126ac72 nginx-1.20.1]# pwd
/usr/local/nginx-1.20.1[root@a4f6f126ac72 local]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log[root@a4f6f126ac72 local]# make && make install

9. 设置环境变量

[root@a4f6f126ac72 local]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@a4f6f126ac72 local]# source /etc/profile.d/nginx.sh

10. 启动nginx报错如下内容

nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
解决措施
[root@a4f6f126ac72 conf]# pwd
/usr/local/nginx/conf
[root@a4f6f126ac72 conf]# vim nginx.conf9 pid        /usr/local/nginx/logs/nginx.pid;[root@a4f6f126ac72 conf]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf   //指定文件加载nginx配置文件

11. 将当前容器生成nginx镜像并上传

// 首先登录你的docker Hub

[root@localhost ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: dockerimages123   //dockerHub的账号
Password:   //密码
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded

// 将容器打包成镜像

// a4f6f126ac72这个是容器的id,也可以写容器的名字,dockerimages123/nginx:v0.1这个是镜像的名字,名字只能写自己dockerHub的id加镜像名才可以上传
[root@localhost ~]# docker commit -c 'CMD ["/bin/bash","/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf"]' a4f6f126ac72 dockerimages123/nginx:v0.1
sha256:5395d21f1c7547d1b2cda98d7c2b7b346ca5c3b98b2e510ab6aa469d08977d0a

// 将镜像上传到dockerHub仓库

[root@localhost ~]# docker push dockerimages123/nginx:v0.1   //这个写你dockerHub的名字然后接镜像名The push refers to repository [docker.io/dockerimages123/nginx]
ba052d369600: Pushed
74ddd0ec08fa: Pushed
v0.1: digest: sha256:17ae9261f7b59d1bbb1a61607b32b95ae59e631d5c046c7ae7d8198e22a0eb0c size: 742

// 退出账号的命令

[root@localhost ~]# docker logout

docker使用centos镜像,编译安装nginx,并上传镜像相关推荐

  1. nginx 怎么重新编译安装mysql,centos 下 编译安装 nginx + mysql + php 服务

    centos 下编译安装nginx + mysql + php 服务 1.安装nginx 1.1.安装依赖包 yum install wget make gcc gcc-c++ pcre-devel ...

  2. Centos 7编译安装Nginx

    Centos 7编译安装Nginx 第一步:防火墙开启80端口或关闭防火墙 第二步:下载Nginx的压缩包 第三步:安装Nginx所需要的环境 第四步:解压Nginx的压缩包 第五步:配置Nginx ...

  3. RHEL/CentOS下编译安装Nginx

    ##下载nginx源码: wget http://nginx.org/download/nginx-1.7.8.tar.gz tar -xv -f nginx-1.7.8.tar.gz -C /usr ...

  4. 基于滴滴云安装 Docker 并上传镜像到滴滴云 Docker 仓库

    前言 Docker 简化了容器中应用程序进程的管理过程.容器允许您在资源隔离的进程中运行应用程序.容器与虚拟机类似,但容器更便携.更资源友好,并且更依赖于主机操作系统. 本文将介绍如何用滴滴云服务器在 ...

  5. docker <应用分享> 上传镜像到 私有仓库 / 本地仓库,从私库拉取镜像

    前两篇博客写了docker上传镜像到dockerhub,以及上传镜像到阿里云仓库.感兴趣的可以点下面链接 docker上传镜像到dockerhub docker上传镜像到阿里云 前面两种方式都是放在云 ...

  6. Java实现Nginx图片上传

    简介 文件上传功能,是信息系统开发中的常用功能,在传统的开发流程中,前端通过表单上传文件,后端进行文件处理.不利之处在于 后端需要写重复代码,每开发一个包含上传功能的系统,就需要写一遍上传逻辑. 当文 ...

  7. Docker - 编译安装nginx镜像

    目录 知识点1:制作镜像的常用指令 RUN和CMD/ENTRYPOINT的区别 首先需要一个安装nginx的脚本 制作Dockerfile 开始制作镜像 查看镜像是否制作成功 启动一个容器来测试镜像 ...

  8. CentOS 6下编译安装Nginx

    CentOS 6下编译安装Nginx  By:老宁 一.准备make环境  yum -y install gcc gcc-c++ automake autoconf libtool make 二.准备 ...

  9. CentOS 6.5编译安装Nginx+MySQL+PHP

    一.配置防火墙,开启80端口.3306端口,关闭SELINUX [root@Zabbix ~]# vim /etc/sysconfig/iptables -A INPUT -i lo -j ACCEP ...

最新文章

  1. linux基础知识-链接列表
  2. 解读2016全球ICT 50强榜单:谁动了传统通信产业的奶酪?
  3. 无损压缩算法历史——熵编码是最早出现的,后来才有Lzx这些压缩算法
  4. 获取汉字拼音的简便方法
  5. js 数组 实现 完全树_算法和数据结构 | 树状数组(Binary Indexed Tree)
  6. php 转化数字,php实现中文转数字
  7. 快速开发平台业务表字段设置的用法
  8. Linux 学习笔记 (一)在VMware 中安装 Ubtuntu 以及 VMware tools
  9. 重庆邮电大学计算机学院院徽,Slide计算机学院-重庆邮电大学.PPT
  10. php soap debug,php soap客户端调试实例
  11. range函数python2和3区别_【后端开发】range函数python2和3区别
  12. sql服务器如何复制数据库文件,如何将架构和一些数据从SQL Server复制到另一个实例?...
  13. python发送邮箱_你知道怎么用Python发送邮件吗?
  14. MFC开发IM-第十九篇、获取编辑框内容,并且追加内容
  15. python是如何引起的_1.2.8 如何开始使用python
  16. HDU 3449 Consumer
  17. linux命令比较命令,Linux命令 比较文件
  18. 噪声的频谱分析的重要意义_噪声测试及频谱分析
  19. 四年级计算机上册说课ppt,四年级上册《画长方形》说课稿
  20. Windows XP 64位注册表删除问题

热门文章

  1. 【经验分享】【沟通:人人会沟通】
  2. 一些常用文献管理软件的比较与总结
  3. 基于4G网卡的Telnet远程登录RT-Thread的Finsh/MSH Shell
  4. Linux常用命令全集
  5. jQuery dialog实现登陆,增删改操作
  6. 【全国数据】Globeland30中国区域行列号对照图shp数据
  7. linux改时间又变回去了,linux 更改时间后,过几十秒又还原回去,解决方法
  8. 西门子et200 分布式i/o_你真的了解西门子Profinet吗?从RT切换到IRT出问题
  9. IP和MAC地址绑定的好处和作用
  10. 设计模式之责任链模式(职责链模式)