创建运行一个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 run --name my-nginx -p 80:80 -d nginx
容器一旦创建,会有一个唯一的id,这个id和容器名都是全局唯一的
三、查看容器状态
docker ps -a
四、去浏览器访问
访问地址为:你的服务器地址:80
,例如我的为:192.168.3.128:80
,其中:80
可以省略不写
五、查看日志
docker logs 容器名
因为我们给容器起名为my-nginx,所以使用docker logs my-nginx
加上-f选项为跟踪日志,docker logs my-nginx -f
,效果类似于tail命令使用-f选项
六、可能遇到的问题
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选项,默认是查看运行中的容器