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

 

 

踩坑:如果发现访问不到,页面一直打不开,可以排除以下原因

  1. 防火墙端口是否开启

常用命令:

查看防火墙开启的端口命令:

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镜像教程及命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程