1.搜索镜像
docker search nginx
#如下图 一般选取 stars 是最多,并且 official 是官方的为准

2.拉取镜像
docker pull nginx #无版本号默认最新的
3.查看镜像
docker images

4.启动镜像
docker run -d --name nginx01 -p 3344:80 nginx
-d 表示后台运行,
--name 表示给容器起名字,而nginx01表示起的名字,
-p 宿主机端口 :容器内部端口 后面的3344表示主机开发的3344端口,80表示容器内部的端口
后面的nginx表示的是镜像名字。
5.查看容器是否运行
docker ps

curl localhost:3344

6.处理防火墙
# 使用防火墙命令查看开放的端口号,需要确保防火墙开启 systemctl status firewalld.service 如果没有开启,使用下面命令开启防火墙 # 开启 systemctl start firewalld.service # 关闭 systemctl stop firewalld.service # 查看已经开放的端口号 firewall-cmd --list-all # 开放新的端口号 firewall-cmd --add-port=9090/tco --permanent # 刷新端口信息 firewall-cmd --reload

7.进入容器
命令:docker exec -it nginx01 /bin/bash #进入容器
命令:whereis nginx
命令:cd /etc/nginx
命令:ls查看
命令:exit #退出
命令:docker stop 容器id #停止Nginx容器
可以修改配置文件nginx.conf,但是不方便,并且存在数据丢失问题
8.数据卷
docker ps -a # 查看当前nginx服务的ID
docker cp ID:/etc/nginx/nginx.conf /workspace/nginx/conf # 将配置文件复制到自己的本地
创建nginx数据卷挂载目录 注意:我是将nginx数据挂载在 /workspace/nginx/ 文件夹下
cd /workspace/nginx # 进入workspace/nginx目录下,在这个目录下进行数据的挂载
mkdir www # 挂载html文件的配置
mkdir logs # 挂载日志文件位置
#mkdir conf # 挂载配置文件位置,这个不用执行,上面已经创建过了
#关闭并删除前面启动的
nginx docker stop nginx # 关闭
docker rm nginx # 删除
#因为nginx的配置文件需要直接挂载,需要给定权限
cd /workspace/nginx/conf
chmod 777 nginx.conf
#启动nginx 并进行数据挂载
docker run -d --name nginx01 -p 80:80 -v /workspace/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /workspace/nginx/www/:/usr/share/nginx/html -v /workspace/nginx/logs:/var/log/nginx nginx
--www为工程目录
--restart=always
9.多端口问题
#可以配置多个端口 -p
docker run -d --name nginx01 -p 80:80 -p 3306:3306 -v /workspace/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /workspace/nginx/www/:/usr/share/nginx/html -v /workspace/nginx/logs:/var/log/nginx nginx
或者 将 -p 80:80 换成 --net host,即
docker run -d --name nginx01 --net host -v /workspace/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /workspace/nginx/www/:/usr/share/nginx/html -v /workspace/nginx/logs:/var/log/nginx nginx