• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Docker容器简单部署nginx过程解析

    1、容器中部署nginx服务

    centos:7镜像运行一个容器,并且,在这个容器内部署Nginx服务。

    [root@Docker ~]# docker pull centos:7 //下载镜像
    [root@Docker ~]# docker run -itd --name webapp --restart=always centos:7 //运行一个容器名为:webapp
    [root@Docker ~]# docker cp nginx-1.16.0.tar.gz webapp:/root //将本地nginx包导入webapp容器内
    [root@Docker ~]# docker exec -it webapp /bin/bash //进入容器
    [root@85099880dabe ~]# tar zxf nginx-1.16.0.tar.gz
    [root@85099880dabe ~]# cd nginx-1.16.0
    [root@85099880dabe nginx-1.16.0]# yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel //下载相关依赖包
    [root@85099880dabe nginx-1.16.0]# useradd -M -s /sbin/nologin nginx //添加一个没有登录权限的nginx用户
    [root@85099880dabe nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx //编译安装

    [root@85099880dabe nginx-1.16.0]# make && make install //编译安装
    [root@85099880dabe nginx-1.16.0]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ //创建软链接
    [root@85099880dabe nginx-1.16.0]# nginx
    [root@85099880dabe nginx-1.16.0]# nginx //确认nginx服务开启
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    [root@85099880dabe nginx-1.16.0]# cd /usr/local/nginx/html/
    [root@85099880dabe html]# echo "TEST WEB" > index.html
    [root@85099880dabe html]# curl 127.0.0.1
    TEST WEB

    2、迁移镜像

    所需环境:

    docker1主机:192.168.45.129

    docker2主机:192.168.45.134

    1)docker1主机

    将docker1的刚刚创建的容器并制作成镜像导入docker2主机上

    [root@Docker ~]# docker commit webapp myweb //将webapp容器制作成镜像名为myweb
    sha256:b035b8e8a36140e1bdbda9cf3a736b139ea8a48db7871a10f509b8f34d4c0f82
    [root@Docker ~]# docker save > myweb.tar myweb:latest //将镜像导出
    [root@Docker ~]# scp myweb.tar 192.168.45.134:/root //将镜像导出的tar包cp给docker2主机
    The authenticity of host '192.168.45.134 (192.168.45.134)' can't be established.
    ECDSA key fingerprint is d7:77:71:90:34:25:c0:ec:e0:b6:5c:cc:6b:44:93:7b.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.45.134' (ECDSA) to the list of known hosts.
    root@192.168.45.134's password: //密码为docker2主机的密码
    myweb.tar 100% 353MB 176.4MB/s 00:02

    2)docker2主机

    [root@Docker2 ~]# docker load < myweb.tar //将刚刚cp过来的tar包制作成镜像
    [root@Docker2 ~]# docker run -itd --name newweb myweb:latest //启动一个容器
    [root@Docker2 ~]# docker exec -it newweb /bin/bash //进入容器
    [root@4e419b580248 /]# nginx
    [root@4e419b580248 /]# nginx //确定已启动nginx服务
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    nginx: [emerg] still could not bind()
    [root@4e419b580248 /]# curl 127.0.0.1
    TEST WEB

    注:这里我们可以看见在docker1主机容器中搭建的简单nginx环境并制作成镜像成功的迁移到了docker2主机上了

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:如何利用Gitlab-ci持续部署到远程机器(详细教程)
    下一篇:jmeter在linux系统下运行及本地内存调优的方法详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Docker容器简单部署nginx过程解析 Docker,容器,简单,部署,nginx,