docker 手动制作nginx镜像

docker制作nginx-1.18.0镜像

#从docker hup 上下载centos镜像来修改
docker pull centos

#直接登录到容器,不退出 --user root身份
[root@master1 ~]# docker run -it --name nginx cento /bin/bash
[root@d0628611aef6 /]#

#查看容器,另启一个窗口
[root@master1 ~]# docker ps
CONTAINER ID   IMAGE                     COMMAND                  CREATED          STATUS          PORTS                NAMES
f9a80f4ccb91   centos   "container-entrypoin…"   41 seconds ago   Up 40 seconds   8080/tcp, 8443/tcp   zealous_tharp

#docker运行起来又停了 https://www.cnblogs.com/shanfeng1000/p/14060545.html

#指定端口启动
[root@master ~]# docker run -d -p 8088:80 centos
#启动容器
[root@master1 ~]# docker start dbcf15bed3ecb95294e2e32b7ea3da81838cf30082b5a122c50903cae0aa355e

#进入容器
[root@master1 ~]# docker exec -it f9a80f4ccb91 bash
bash-4.2#

#删除一个容器,强制删除
docker [container] rm -f f9a80f4ccb91

#docker查看日志记录
https://www.cnblogs.com/mr-wuxiansheng/p/11412489.html

安装nginx-1.18.0

源码方式安装
https://blog.csdn.net/qq_34168515/article/details/106735521

#1. 安装依赖包
yum  install wget gcc zlib zlib-devel pcre-devel openssl openssl-devel  automake autoconf libtool make -y
yum install epel-release -y
#yum install nginx-1.18.0 -y

#卸载nginx 步骤  https://blog.csdn.net/weixin_38889300/article/details/106682750

2.下载并解压安装包
cd /usr/local && mkdir nginx && cd nginx
#下载tar包
wget http://nginx.org/download/nginx-1.18.0.tar.gz
2.下载并解压安装包
[root@132edde98dfe nginx]# tar -xvf nginx-1.18.0.tar.gz
[root@132edde98dfe nginx]# ls
CHANGES  CHANGES.ru  LICENSE  README  auto  conf  configure  contrib  html  man  src

#执行./configure
[root@a552af2f6f14 nginx]# ./configure 
若sudo报错 使用以下
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf  

3.2 执行make的过程
[root@a552af2f6f14 nginx]# make && make install

#安装完成,试着启动nginx
[root@e21b4a19dfbc sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

制作镜像 nginx:1.18.0

#生成新的镜像文件 nginx:1.18.0
[root@master1 ~]# docker commit -m "version info" -a "nginx" -c "CMD [/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  -g 'daemon off;']" e21b4a19dfbc nginx:1.18.0

#在nginx.conf中或者添加 “daemon off;” 配置可以让nginx在前台启动
[root@b77de831e5a6 /]# echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf

-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;

-a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;
    最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息;
    
-c 制作镜像之后执行的命令。e21b4a19dfbc 容器ID,就是希望将哪个容器重新制作。nginx 制作之后的镜像名称。

-v 挂载文件用的,https://www.cnblogs.com/hanlk/p/14221623.html
    第一个-v表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件,
    第二个表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/home/docker-nginx/log/下面。
    第三个-v 表示的和第一个-v意思一样的。

-d 表示启动的是哪个镜像 

启动新的镜像

#查看生成的镜像
[root@master1 ~]# docker images
REPOSITORY                           TAG           IMAGE ID       CREATED         SIZE
nginx                                1.18.0        0ba3167fc205   5 minutes ago   441MB
centos                               latest        300e315adb2f   3 months ago     209MB

#删除旧的容器
[root@master1 ~]# docker rm -f e21b4a19dfbc
e21b4a19dfbc

#启动新的镜像
[root@master1 ~]# docker run -d -p 80:80 --name nginx nginx:1.18.0 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
cbd2b58a67748f7a793e526feced2f96a88c53555d48f2c677373d7414f515ee

#查看启动正常
[root@master1 ~]# docker ps -a
CONTAINER ID   IMAGE                  COMMAND                  CREATED         STATUS                     PORTS                NAMES
e71f9d976811   nginx:1.18.0           "/usr/local/nginx/sb…"   2 minutes ago   Up About a minute          0.0.0.0:80->80/tcp   nginx

测试

windows下访问虚拟机IP端口192.168.11.10:8080
在这里插入图片描述

#参考
https://www.cnblogs.com/withfeel/p/11670687.html
https://www.jianshu.com/p/dc4cd0547d1e

https://blog.csdn.net/qq_34168515/article/details/106735521

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值