首页 > 系统相关 >docker中离线安装nginx

docker中离线安装nginx

时间:2023-01-15 12:33:15浏览次数:72  
标签:安装 离线 nginx 镜像 docker data 80

注:默认已经安装好docker。

 

为什么要离线安装?

其实离线安装是建立在在线安装的基础上的;因为有可能我们的服务器由于安全问题无法访问外网,自此我们需要将镜像手动上传至服务器中。

所以现在的场景就是:我们手上有一台笔记本,可以上网;笔记本上可以远程连接到我们的服务器,而服务器无法连接外网。

 

1、需要在本地拉取所需镜像,但拉取镜像需要相关docker环境,故先安装相应工具。

  在windows上安装Docker Community Edition for windows的参考链接:https://blog.csdn.net/MaxWoods/article/details/79774581

 

2、拉取所需镜像,并打成tar包

# 搜索有哪些镜像可以下载
docker search 镜像名
# 拉取镜像到本地
docker pull 镜像名
# 查看当前本机有哪些镜像
docker images 
# 打包
docker save -o  要打镜像包名称     镜像
示例:docker save -o nginx.tar nginx        # tar包的保存路径为当前路径

  DockerHub官网:https://hub.docker.com/

 

3、使用ftp将打包好的tar包上传到服务器中

 

4、加载镜像进入服务器中的docker容器;

  当然服务器中的docker也需要手动安装,该安装过程请参考https://blog.csdn.net/qq_42511550/article/details/119188889

# 加载镜像;默认已经启动docker服务
docker load -i nginx.tar

5、查看镜像是否加载成功

docker image ls

6、进入相应文件夹创建yml文件(一般在app/nginx/docker-compose.yml文件夹下)

version: '3'

services:
  nginx:
    container_name: nginx
    restart: always
    image: nginx
    ports:
      - 8080:80
      - 80:80
      - 443:443
    volumes:
      - /data/nginx/conf.d:/etc/nginx/conf.d
      - /data/nginx/log:/var/log/nginx
      - /data/nginx/www:/var/www
      - /etc/letsencrypt:/etc/letsencrypt

7、根据yml文件中的数据卷volume创建相应文件夹(但好像若不手动创建其实也会自动被创建,就像/etc/letsencrypt目录一样)

mkdir /data/nginx/conf.d    # 不要以为有后缀就是文件,此处的conf.d仍是一个文件夹
mkdir /data/nginx/log
8mkdir /data/nginx/www

8、进入/data/nginx/conf.d目录下创建一个default.conf文件

server{
        listen 80;                                              #  监听80端口
        server_name localhost;                  #  请求的域名

        location / {                                    #  当请求进来后,映射上 /
                root /usr/share/nginx/html;                     # 将请求会映射到路径上.
                index index.html;                                       # 默认请求会去寻找index.html作为欢迎页面.
        }
}

9、启动nginx服务

docker-compose -f yml文件所在路径 up -d

 

10、进入nginx容器

docker exec -it nginx bash

 

11、查看nginx容器中端口开放情况

netstat -tlpn

12、测试端口映射连通性

telnet 宿主机IP 8080  # 端口映射为8080:80 表示宿主机的8080端口对应到nginx容器的80端口

 

 13、web页面验证nginx服务

# 网页中输入
宿主机IP:8080

 

 

 

自此,nginx在docker中已经安装成功!

 

标签:安装,离线,nginx,镜像,docker,data,80
From: https://www.cnblogs.com/ReturnOfTheKing/p/17053279.html

相关文章

  • kubernetes安装ingress-nginx的步骤
    kubernetes安装ingress-nginx的步骤系统版本:CentOs8.1k8s版本:v1.21.3containerd版本:ctrcontainerd.io1.4.3一:准备yaml文件github仓库地址:wgethttps://raw.githubuse......
  • 为什么推荐大家使用 Nginx 而不是 Apache?
    无论是Nginx还是Apache都是Web服务器应用,通俗点说我们的网站都是需要Web服务器应用来展现给客户的,而服务器是供Web服务器应用正常稳定的运行的基础。所以说选择好......
  • 【docker】MAC Cannot connect to the Docker daemon at unix:///var/run/docker.soc
    问题描述:1.在电脑上打开终端,输入dockerps,提示信息如下: CannotconnecttotheDockerdaemonatunix:///var/run/docker.sock.Isthedockerdaemonrunning?2.......
  • docker-compose部署zabbix
    前期准备工作新建必要文件夹mkdir-pzabbix/{etc,fonts}准备字体文件存放在./zabbix/fonts/下就可以不过名字必须叫DejaVuSans.ttf可以根据自己的需求,在windows......
  • 借助docker-compose在docker中部署单机的elasticsearch和kibana
    ---version:'3'services:elasticsearch:image:docker.elastic.co/elasticsearch/elasticsearch:7.17.8container_name:elasticsearchenvironment:......
  • docker之Mysql安装教程
    部署mysql:5.7安装mkdir-p/app/docker/mysql/logmkdir-p/app/docker/mysql/datamkdir-p/app/docker/mysql/confdockerpullmysql:5.7dockerrun-d-p3......
  • Docker部署Java项目运行命令脚本
    项目名称x-schools-server部署教程cd/app/webapps/x-schools-server#全部移除cd/app/webapps/x-schools-serverdockerstop$(dockerps-aqf"name=x-schools-......
  • nginx内置参数
    $args#请求中的参数值$query_string#同$args$arg_NAME#GET请求中NAME的值$is_args#如果请求中有......
  • docker 安装部署初始化
    yuminstall-yyum-utils#下载依赖安装包yummakecachefast#更新yum软件包#设置阿里云的Docker镜像仓库yum-config-manager\--add-repo\ht......
  • Docker安装与卸载(基本命令)
    title:Docker安装与卸载(基本命令)date:2022-08-2422:54:40tags:-Dockercategories:-DockerDockers的安装搭建参考:https://www.cnblogs.com/j......