Docker基础 docker创建centos7容器然后安装配置Nginx,并在浏览器访问

简介: docker 在容器里下载配置nginx,并可在浏览器上访问的方法, 并将容器转为镜像,或将容器转为文件,再将文件转为镜像的两种方式,创建容器时绑定端口的方法,

​
centos7容器里安装配置Nginx,然后测试是否能在网页打开,并将该容器转换为模板,再将模板转成镜像,然后将该镜像创建容器,并在该容器启动nginx,然后再浏览器访问

要求:

开始操作:

拉取centos7镜像:

docker pull centos:7
创建centos7容器命名为mycentos(容器名可自取)创建时要确保没有其他容器和该容器重名:

docker run -it --name mycentos centos:7 /bin/bash
代码格式:docker run -it 容器名 依赖的镜像名 存放目录
将刚创建的容器转为镜像,命名为mycentos:

docker commit mycentos mycentos
代码格式:docker commit 容器名 镜像名:功能(功能可不写)
基于mycentos镜像创建容器,容器名为:mycentos_nginx 并绑定端口号:

docker run -it --name mycentos_nginx -p 8080:80 mycentos:vim /bin/bash
代码使用方法:
docker run -it --name 容器名 -p 端口号 依赖的镜像名 存放的目录

开始下载Nginx:

安装依赖包:

yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
下载并解压安装包:

创建一个文件夹:

cd /usr/local
mkdir nginx
cd nginx
 下载tar包,下载地址找自己的版本:

wget http://nginx.org/download/nginx-1.19.1.tar.gz
如果wget这条命令失败,就下载wget,然后在执行重新执行上一步:

yum install -y wget
下载好后解压该文件 解压:

tar -zxvf nginx-1.19.1.tar.gz
安装nginx:

进入nginx目录

cd /usr/local/nginx/nginx-1.19.1
执行编译命令,通过--prefix=安装目录,指定nginx安装目录
./configure --prefix=/usr/local/nginx
执行make命令

make
执行make install命令

make install
进入 /usr/local/nginx/,删除nginx安装包,这一步自行决定

rm -rf nginx-1.19.1*
查看nginx版本:

进入nginx目录

cd /usr/local/nginx/sbin
查看版本大写-V信息更多一些:

./nginx -V
启动nginx:

指定配置文件方式启动

进入nginx目录,执行启动命令

cd /usr/local/nginx/sbin
./nginx -c /usr/local/nginx/conf/nginx.conf
出现这个字段表示启动成功: 

 然后打开浏览器,输入虚拟机的IP地址,后面在加上端口号:

退出停止容器,将该容器转为镜像:

这里采用的是docker expot的方法,先将容器转为文件,再将文件转为镜像:

第一步:将容器转为文件
docker export fad752ad963b > my_nginx
代码使用方法
docker export 容器名 > 文件名

第二步:将文件转为镜像
cat my_nginx | docker import - mycentos:nginx
代码使用方法:
cat 文件名 | docker import - 镜像名
使用该镜像创建容器,并绑定9080端口:

docker run -it --name m_nginx -p 9080:80 mycentos:nginx /bin/bash
以指定配置文件的方式启动nginx:

进入nginx文件夹
cd /usr/local/nginx/sbin

执行nginx启动命令
./nginx -c /usr/local/nginx/conf/nginx.conf
然后就可以打开浏览器,输入虚拟机IP地址,加创建容器时绑定的端口号访问了

最后可以做一个开机自启

开机启动nginx服务:

编辑自启动脚本:
vim /etc/rc.d/rc.local

在最后面添加下面的代码

nginx

/usr/local/nginx/sbin/nginx

然后保存退出(Esc 然后加:wq 回车即可)

添加执行权限
chmod +x /etc/rc.d/rc.local

​

相关文章
|
12月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
4585 4
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
936 52
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
12月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
544 5
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
1095 6
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
1042 6