docker系列(三)————练手:部署nginx
首先正常流程是:
先搜索镜像再下载镜像
docker search 镜像名
docker pull 镜像名
1.下载镜像
但是我们有自己的镜像仓库,所以我们拉取自己的即可
镜像仓库 ==》nginx ==》操作指南
按照指南里面的步骤操作中的前两步将镜像拉去下来
(注意,需要什么镜像先使用github的actions(第一期的方法)添加到自己的仓库里)
命令是一样的,只不过我们需要先登录阿里云Docker Registry,然后docker pull +自己的镜像名即可
2.查看镜像
docker images
3.启动容器
docker run -d --name 容器名 -p 80:80 镜像名
4.查看容器
docker ps
5.测试访问
curl 127.0.0.1:80
然后就会出现一幅网页代码:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
6.进入容器修改界面
docker exec -it 容器ID /bin/bash
whereis nginx 查找文件位置
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
这些为其文件,配置与物理机上的大差不差
7.外网访问
如果你用的是虚拟机,直接浏览器中:虚拟机的ip:80即可
我偷懒直接用80映射了,实际工作中80端口要禁止,其他nginx配置看后续其他文章即可
8.注意事项与参数介绍
docker run [可选参数] image 命令 #启动容器(无镜像会先下载镜像)
#参数说明
--name = "Name" 容器名字
-c 后面跟待完成的命令
-d 以后台方式运行并且返回ID,启动守护进程式容器
-i 使用交互方式运行容器,通常与t同时使用
-t 为容器重新分配一个伪输入终端。也即启动交互式容器
-p 指定容器端口 -p 容器端口:物理机端口 映射端口
-P 随机指定端口
-v 给容器挂载存储卷
大家注意-i 、 -t 、 -d这几个参数。
it:给我一个可以操作的前台终端。
id:以后台守护进程的方式运行容器。
1:交互方式创建容器,退出后容器关闭。
docker run -it 镜像名称:标签 /bin/bash
2:守护进程方式创建容器。
docker run -id 镜像名称:标签
通过这种方式创建的容器,我们不会直接进入到容器界面,而是在后台运行了容器,
如果我们需要进去,则还需要一个命令。
docker exec -it 镜像名称:标签 /bin/bash
通过这种方式运行的容器,就不会自动退出了。
9.最后
我的文章主要是实际操作,理论极少,因为我希望大家先会操作,只要会操作,会配置,能工作就可以,理论方面会在做的多了以后很快就懂了,而且更加融会贯通。