docker run -d --name nginx-zimug -p 80:80 nginx
81bb1211144bc0991a789f860458548643c60b5459466c14d0604be9a4ccbfd7
* `-d`表示容器在后台运行
* `--name`为容器起一个名字
* `-p`端口映射,格式为`宿主机端口:容器端口`,上文中含义是将容器中的端口80映射到宿主机的端口80,对外提供访问服务。
* 最后一个字段为镜像名称
浏览器HTTP协议访问宿主机的80端口,如果是80端口可以省略。得到的访问结果如下,说明我们的nginx服务已经启动成功了。
![](https://img-blog.csdnimg.cn/img_convert/eb3360b869dffe333ec5cab56a7f8b0f.png)
通过`docker ps`可以查看正在运行中的容器,如下所示:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
81bb1211144b nginx “/docker-entrypoint.…” 11 minutes ago Up 11 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nginx-zimug
[]( )三、文件映射
---------------------------------------------------------------
首先明确的是容器中的文件内容是可以被修改的,但是**一旦容器重启,所有写入到容器中的,针对数据文件、配置文件的修改都将丢失**。所以为了保存容器的运行状态,执行结果,我们需要将容器内的一些重要的数据文件、日志文件、配置文件映射到宿主机上。
以nginx为例,nginx有三个重要的文件目录:
| | 容器中路径 | 宿主机中自定义映射路径 |
| --- | --- | --- |
| 存储网站网页的目录 | /usr/share/nginx/html | /root/nginx/html |
| nginx配置文件目录 | /etc/nginx/nginx.conf | /root/nginx/conf/nginx.conf |
| 日志目录 | /var/log/nginx | /root/nginx/logs |
**在宿主机中新建文件目录**
mkdir -p /root/nginx/logs /root/nginx/html /root/nginx/conf;
**将容器中的文件copy到宿主机中**
将nginx配置文件copy到宿主机中
docker cp nginx-zimug:/etc/nginx/nginx.conf /root/nginx/conf;
**将一个模拟的html文件放入html目录**
将下面的文件保存为index.html放入宿主机的`/root/nginx/html`目录,因为存在映射关系,实际上也是放入了容器的`/usr/share/nginx/html`目录。
<h1>访问成功</h1>
<p>厉害了!</p>
[]( )四、再次启动容器服务
-------------------------------------------------------------------
`-v`参数表达了宿主机文件与容器中文件的映射关系,格式为`-v 宿主机目录:容器文件系统目录`。启动一个新的容器,容器的名字叫做nginx-prod
docker run -d -p 80:80 \
–name nginx-prod \
-v /root/nginx/html:/usr/share/nginx/html \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/logs:/var/log/nginx nginx
在启动新容器之前,将nginx-zimug旧的容器删掉。如果不删除旧的容器,新容器的端口与旧容器端口会发生冲突。使用如下命令删除容器:
docker stop nginx-zimug;
docker rm nginx-zimug;
执行上面的`docker run`命令,启动新的容器。启动后通过浏览器访问宿主机80端口,响应结果如下证明nginx正常提供web服务了。
![](https://img-blog.csdnimg.cn/img_convert/f0491037ab9dc7e019251b46855a925c.png)
同时可以在宿主机上修改nginx配置,也可以查看运行时日志文件。修改结果会影响容器nginx服务的运行,因为宿主机的配置文件与容器内的配置文件存在映射关系。
![](https://img-blog.csdnimg.cn/img_convert/504777bdb91618ef731e450d95df9d23.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/c8f14541fc06476e8090d9ed22880b47.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2X5q-N5ZOl5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/27b957c0490fcdbfa1ae47c1a436ab5a.jpeg)
![img](https://img-blog.csdnimg.cn/img_convert/96e4b035a9d83cf52481b280a8047f4b.png)
![img](https://img-blog.csdnimg.cn/img_convert/0381a41517a93654cddb3371b868621f.png)
![img](https://img-blog.csdnimg.cn/img_convert/704fe39dbbda56f7f20330564c8f07fa.png)
![img](https://img-blog.csdnimg.cn/img_convert/333843dc5ad920a0ea6ea5afd744f711.png)
![img](https://img-blog.csdnimg.cn/img_convert/a898695c6e89c65d747c3e024e71fb8d.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)**
![img](https://img-blog.csdnimg.cn/img_convert/c1cb3e8779f564bfb5b5a6379b4c07b8.jpeg)
### 最后
由于篇幅有限,这里就不一一罗列了,**20道常见面试题(含答案)+21条MySQL性能调优经验**小编已整理成Word文档或PDF文档
![MySQL全家桶笔记](https://img-blog.csdnimg.cn/img_convert/3adad89e77dc6ff81df02cfab8afbccb.webp?x-oss-process=image/format,png)
**还有更多面试复习笔记分享如下**
![Java架构专题面试复习](https://img-blog.csdnimg.cn/img_convert/abb8d6679f60cf9a350ddf77390ee48d.webp?x-oss-process=image/format,png)
[**一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)
**AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**
304bb5a486d4c3ab8389e65ecb71ac0)
**AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**