步骤一:安装Docker CE
Docker有两个分支版本:Docker CE和Docker EE,即社区版和企业版,本教程基于CentOS 7安装Docker CE
1 首先安装Docker 的依赖库
yum install -y yum-utils device-mapper-persistent-data lvm2
2 添加Docker CE的软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装Docker CE
yum makecache fast #快速建立缓存,以后用install时就在缓存中搜索,提高了速度
yum -y install docker-ce #安装Docker CE
systemctl start docker #启动Docker服务
4.启动并查看Docker服务
systemctl start docker
systemctl status docker
docker version # Docker Engine Community 23.0.1
systemctl enable docker.service #将docker服务配置为开机自启动。(可选)
步骤二:配置阿里云镜像仓库
Docker的默认官方远程仓库是hub.docker.com,服务器远在美国,由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。
镜像加速器地址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
获取自己的专属镜像加速地址
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://XXXXXXXXXXX.XXXXXXXX.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
步骤三、使用Docker安装Nginx服务
1.查看Docker镜像仓库中Nginx的可用版本。
docker search nginx
输出结果如下
2.拉取最新版的Nginx镜像
docker pull nginx:latest
输出结果如下
3.查看本地镜像
docker images
输出结果如下:
4.运行容器
docker run --name nginx-test -p 8080:80 -d nginx
命令参数说明:
--name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地8080端口映射到容器内部的80端口。
-d nginx: 设置容器在后台一直运行。
5.在浏览器地址栏输入http://<ECS公网地址>:8080访问Nginx服务
注意:记得开放出站,入站安全组规则对应的端口号
6.docker对应的指令大全链接
Docker 命令大全 | 菜鸟教程
步骤四:数据卷的挂载
1.进行目录的复制,/data 下面没有nginx 目录手动创建nginx/conf 文件夹
docker ps -a # 查看当前nginx服务的ID
docker cp ID:/etc/nginx/nginx.conf /data/nginx/conf # 将配置文件复制到自己的本地
2.创建nginx数据卷挂载目录 ,注意:我是将nginx数据挂载在 /data/nginx/ 文件夹下
cd /data/nginx # 进入data/nginx目录下,在这个目录下进行数据的挂载mkdir www # 用于挂载html文件的配置,网站的根目录数据mkdir logs # 挂载日志文件位置#mkdir conf # 挂载配置文件位置,这个不用执行,上面一步已经创建过了
3.因为nginx的配置文件需要直接挂载,需要给定权限
cd /data/nginx/conf
chmod 777 nginx.conf
4关闭并删除前面启动的nginx
docker stop nginx # 关闭
docker rm nginx # 删除
5.启动nginx并进行数据挂载
/格式如下docker run -d --name nginx -p 8080:80
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /data/nginx/www/:/usr/share/nginx/html
-v /data/nginx/logs:/var/log/nginx nginx/建议复制如下代码
docker run -d --name nginx-p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/www/:/usr/share/nginx/html -v /data/nginx/logs:/var/log/nginx nginx
完了放开防火墙,端口号,出入站规则,刷新端口信息,重启Nginx服务器,然后再/data/nginx/www/ 下放置网站代码,例如index.php , index.html 输入网址即可访问
参考博主:
Docker下安装Nginx并配置nginx数据卷挂载_docker安装nginx并挂载目录_进击的蛋挞的博客-CSDN博客在Docker环境下安装并配置nginx全步骤,百分百启动成功,并且能够执行nginx命令,数据直接挂载到本机目录_docker安装nginx并挂载目录https://blog.csdn.net/weixin_44723016/article/details/125392641【ECS】阿里云ECS安装配置各种环境_阿里云ecs怎么配置环境_Koma_zhe的博客-CSDN博客【ECS】阿里云ECS安装配置各种环境_阿里云ecs怎么配置环境https://blog.csdn.net/qq_44033208/article/details/130214183?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168742588016782427468094%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168742588016782427468094&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-13-130214183-null-null.142%5Ev88%5Einsert_down1,239%5Ev2%5Einsert_chatgpt&utm_term=%E9%98%BF%E9%87%8C%E4%BA%91ecs%20docker%20%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA&spm=1018.2226.3001.4187