docker运行nginx镜像教程及命令
2022/3/8 7:17:04
本文主要是介绍docker运行nginx镜像教程及命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言:
先提醒一下最容易忘记的,确保使用的防火墙端口已开启;
需要实现的功能:
- 使用docker启动nginx服务
- docker开机自启动
- nginx服务开机自启动
这样就不用因为服务器挂掉每次都手动重启服务了
环境:
服务器:三·丰·云免费云服务器(还有免费虚拟主机,免备案服务)
容器:docker
镜像:nginx
安装docker
curl -sSL https://get.daocloud.io/docker | sh
运行docker
systemctl start docker
如果不运行docker,直接执行后面的操作会报错:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
设置开启启动docker;不然每次重启主机还得手动运行docker
systemctl enable docker
参数:
enable:自启动; disable:禁止自启动
拉取nignx镜像
docker pull nginx
查看本地镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c919045c4c2b 42 hours ago 141MB
运行镜像
docker run --name nginx-test -p 8003:80 -d nginx
参数说明:
- --name nginx-test:容器名称。
- -p 8003:80: 端口进行映射,将本地 8003 端口映射到容器内部的 80 端口。
- -d nginx: 设置容器在在后台一直运行。
访问nginx
踩坑:如果发现访问不到,页面一直打不开,可以排除以下原因
- 防火墙端口是否开启
常用命令:
查看防火墙开启的端口命令:
firewall-cmd --list-ports
开启端口8003(还需执行下面重启命令才能生效)
firewall-cmd --zone=public --add-port=8003/tcp --permanent
重启
firewall-cmd --reload
2. nginx配置是否正确,一般不用配置,默认80端口可以直接访问
查看容器:
docker ps -a
-a可以查看所有容器,去掉-a只显示正在运行的容器
删除容器:需要指定container ID<容器 ID>
docker rm -f 1e560fca3906
停止容器:
docker stop <容器 ID>
启动停止的容器:
docker start <容器 ID>
启动并进入容器:
docker run -it nginx /bin/bash
参数说明:
- -i: 交互式操作。
- -t: 终端。
- nginx: nginx 镜像。
- /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
exit退出容器会停止运行
进入已运行的容器:
docker exec -it <容器 ID> /bin/bash
推荐使用:docker exec进入容器,使用exit退出容器不会停止; docker attach <容器 ID>进入容器,使用exit退出容器会停止
退出容器:
exit
设置容器开机自动重启(需要重启docker才能生效哦)
// 启动容器 docker run --restart=always --name nginx-test -p 8003:80 -d nginx systemctl restart docker
或者
// 更新已启动的容器 docker container update --restart=always <容器ID>
systemctl restart docker
最后:容器自启动遇到一个小坑,设置了--restart=always,但是重启服务器之后,发现docker并没有自启动nginx服务,最后才发现是需要手动重启下docker。
这篇关于docker运行nginx镜像教程及命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-17docker 里面的postgis没有中文支持,如何解决?-icode9专业技术文章分享
- 2024-11-17宿主机上开了阿里云的代理,在docker容器内ping不通阿里云的内网ip什么原因?-icode9专业技术文章分享
- 2024-11-17怎么配置docker dns?-icode9专业技术文章分享
- 2024-11-15在树莓派上用Docker-in-Docker模拟Docker Swarm集群
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程