创建运行一个Nginx容器

  • 一、`docker run`命令讲解
  • 二、运行命令
  • 三、查看容器状态
  • 四、去浏览器访问
  • 五、查看日志
  • 六、可能遇到的问题
  • 1.问题描述
  • 2.原因
  • 3.解决方案
  • 七、总结
  • 1.运行容器
  • 2.查看容器运行日志
  • 3.查看容器状态


一、docker run命令讲解

  因为从2023年5月份之后,Docker Hub就访问不到,所以我们就不能去Docker Hub查看文档了,这里先介绍常用的用法。

docker run --name containerName -p 80:80 -d imagesName

命令解读:
docker run:命令本身
--name containerName:给容器起一个名字
-p 80:80:将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口,就是将完全隔离的容易透出来一个小口,这样我们可以透过这个小口来对容器进行访问,宿主机端口一般可以任意写,只要没被占用,但是容器端口往往是由容器本身决定
-d:后台运行
images:镜像名称,没有加标签,默认为最新版本

  如我们想要访问Nginx容器,我们需要访问服务器地址的80端口(192.168.150.101:80),因为我们配置的端口映射就是如此,再比如我们配置的端口映射为-p 88:80,那么我们想要访问Nginx的话就需要访问服务器地址的88端口(192.168.150.101:88)。

容器中的日志怎么下载 查看容器日志命令_docker

二、运行命令

docker run --name my-nginx -p 80:80 -d nginx
容器一旦创建,会有一个唯一的id,这个id和容器名都是全局唯一的

容器中的日志怎么下载 查看容器日志命令_容器中的日志怎么下载_02

三、查看容器状态

docker ps -a


四、去浏览器访问

访问地址为:你的服务器地址:80,例如我的为:192.168.3.128:80,其中:80可以省略不写

容器中的日志怎么下载 查看容器日志命令_端口映射_03

五、查看日志

docker logs 容器名
因为我们给容器起名为my-nginx,所以使用docker logs my-nginx 加上-f选项为跟踪日志,docker logs my-nginx -f,效果类似于tail命令使用-f选项

容器中的日志怎么下载 查看容器日志命令_容器中的日志怎么下载_04

六、可能遇到的问题

1.问题描述

WARNING: IPv4 forwarding is disabled. Networking will not work.

2.原因

是没有开启转发,docker网桥配置完后,需要开启转发,不然容器启动后,就会没有网络

3.解决方案

  • 配置/etc/sysctl.conf,添加net.ipv4.ip_forward=1

vim /etc/sysctl.conf net.ipv4.ip_forward=1 #添加此行配置

  • 重启network和docker服务

systemctl restart network && systemctl restart docker

  • 查看是否修改成功,如果返回为“net.ipv4.ip_forward = 1”则表示修改成功

sysctl net.ipv4.ip_forward

七、总结

1.运行容器

docker run 
--name:指定容器名称
-p:指定端口映射
-d:让容器后台运行

2.查看容器运行日志

docker logs 容器名
添加 -f 参数可以持续查看日志

3.查看容器状态

docker ps
-a:查看所有,如果不使用-a选项,默认是查看运行中的容器