docker部署showdoc以及linux网关配置

docker 部署showdoc

准备工作:

  1. 切换为root用户

    su root

  2. 更换为阿里云yum源

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

  3. 更新yum源

    sudo yum update

    在更新过程中可能会出现如下报错:

    Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist

    由于本人的虚拟机安装的为CentOS_8故会出现报错

    转载自:https://blog.csdn.net/weixin_43252521/article/details/124409151

    解决步骤:

    1. 进入到 yum 的 repos 目录

      cd /etc/yum.repos.d/

    2. 修改 centos 文件内容

      sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
      sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

    3. 生成缓存更新

      yum makecache

    4. 运行 yum update 并重新安装 vim

      yum update -y
      yum -y install vim

安装docker

转载自:https://www.cnblogs.com/LeeMicroShake/articles/16592621.html#

docker安装:

  1. 卸载残存或旧版本的docker

      yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
    
       yum remove docker-ce docker-ce-cli containerd.io #卸载多余依赖 
    
       rm -rf /var/lib/docker #删除docker
    
    
  2. 安装yum工具包

    yum install -y yum-utils

  3. 设置镜像仓库

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  4. 安装docker工具

    yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

  5. 查看docker

    systemctl status docker  #查看docker 是否运行
    
    systemctl start docker #启动docker
    
    systemctl enable docker   #开机自启动,--now现在立即启动
    
    docker --version #查看docker版本
    
    docker version || docker Info  #查看docker信息
    
  6. 运行docker

    docker run --name test_nginx -p7840:80 -d nginx:1.18.0

docker-compose安装

#下载 Docker Compose 的当前稳定版本:
#github
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 

#执行权限应用于二进制文件:
sudo chmod +x /usr/local/bin/docker-compose

#创建软链:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

#测试是否安装成功:
docker-compose --version	

常用命令:

# 列出项目中目前的所有容器
docker-compose ps

#停止正在运行的容器
docker-compose stop

#启动停止的容器
docker-compose start

#重启项目中的服务
docker-compose restart [options] [SERVICE...]

#查看帮助
docker-compose -h

#停止和删除容器、网络、卷、镜像
docker-compose down

#删除停止容器
dockers-compose rm

#查看服务容器的输出
docker-compose logs [options] [SERVICE...]

#构建(重新构建)项目中的服务容器
docker-compose build [options] [--build-arg key=val...] [SERVICE...]

#拉取服务依赖的镜像
docker-compose pull [options]  [SERVICE...]

#在指定服务上执行一个命令
docker-compose run ubuntu ping www.baidu.com

#验证并查看compose文件配置
docker-compose config [options]

#为服务创建容器
docker-compose create [options] [SERVICE...]

部署showdoc

# 原版官方镜像安装命令(中国大陆用户不建议直接使用原版镜像,可以用后面的加速镜像)
# 如果你打算安装ARM版本的docker镜像,请将 latest 标签改为 arm-latest
docker pull star7th/showdoc:latest 

# 中国大陆镜像安装命令(安装后记得执行docker tag命令以进行重命名)
docker pull registry.cn-shenzhen.aliyuncs.com/star7th/showdoc
docker tag registry.cn-shenzhen.aliyuncs.com/star7th/showdoc:latest star7th/showdoc:latest 

#新建存放showdoc数据的目录
mkdir -p /showdoc_data/html
chmod  -R 777 /showdoc_data
# 如果你是想把数据挂载到其他目录,比如说/data1,那么,可以在/data1目录下新建一个showdoc_data/目录,
# 然后在根目录的新建一个软链接/showdoc_data到/data1/showdoc_data
# 这样既能保持跟官方教程推荐的路径一致,又能达到自定义存储的目的.

#启动showdoc容器
docker run -d --name showdoc --user=root --privileged=true -p 4999:80 \
-v /showdoc_data/html:/var/www/html/ star7th/showdoc

设置容器开机自启动

  1. docker ps -a -q

  2. docker update --restart=always +1中的容器Id

设置主机访问虚拟机showdoc网页

  1. 开启虚拟机桥接网络

  2. 虚拟机上启动httpd:

    1、安装httpd:yum install httpd

    2、启动httpd:systemctl start httpd.service

    3、关闭firewall:systemctl stop firewalld.service

    1. 开机启动:systemctl enable httpd.service

    2. 开机不启动:systemctl disable httpd.service

    3. 停止firewall:systemctl stop firewalld.service

    4. 禁止firewall开机启动:systemctl disable firewalld.service

  3. 编译网络配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet 网卡类型:以太网
PROXY_METHOD=none 代理方式:关闭状态
BROWSER_ONLY=no 只是浏览器(yes|no)
BOOTPROTO=static 设置网卡获得ip地址的方式(static|dhcp|none|bootp)
DEFROUTE=yes 设置为默认路由(yes|no)
IPV4_FAILURE_FATAL=no 是否开启IPV4致命错误检测(yes|no)
IPV6INIT=yes IPV6是否自动初始化
IPV6_AUTOCONF=yes IPV6是否自动配置
IPV6_DEFROUTE=yes IPV6是否可以为默认路由
IPV6_FAILURE_FATAL=no 是不开启IPV6致命错误检测
IPV6_ADDR_GEN_MODE=stable-privacy IPV6地址生成模型
NAME=eth0 网卡物理设备名称
UUID=6e89ea13-f919-4096-ad67-cfc24a79a7e7 UUID识别码
DEVICE=eth0 网卡设备名称
ONBOOT=no 开机自启(yes|no)
IPADDR=192.168.5.10 IP地址
NETNASK=255.255.255.0 子网掩码,也可使用掩码长度表示(PREFIX=24)
GATEWAY=192.168.5.1 网关
DNS1=114.114.114.114 首选DNS
DNS2=8.8.8.8 备用DNS

#常见修改
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
DEVICE=eth0
ONBOOT=yes
IPADDR=10.10.10.31
NETMASK=255.255.255.0
  1. 重启网络服务

    systemctl restart network

posted @ 2023-08-29 02:07  ProsperousEnding  阅读(112)  评论(0编辑  收藏  举报