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