• docker LNMP安装流程


    Linux安装Docker

    # 安装依赖包
    yum install -y yum-utils 
    # 添加Docker软件包源
    yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo
    # 安装Docker CE
    yum install -y docker-ce
    # 启动Docker服务并设置开机启动
    systemctl start docker
    systemctl enable docker
    
    镜像从哪里来?
    Docker Hub是由Docker公司负责维护的公共镜像仓库,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜
    像。
    地址:https://hub.docker.com
    配置镜像加速器:
    vi /etc/docker/daemon.json
    {
    "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
    }

    一. #  案例  容器化搭建个人博客

    1.1 自定义网络 实现内部通信

    docker network create lnmp
    

     1.2构建PHP容器   PHP Dockerfile

    FROM centos:7
    MAINTAINER www.ctnrs.com
    RUN yum install epel-release -y && 
        yum install -y gcc gcc-c++ make gd-devel libxml2-devel 
        libcurl-devel libjpeg-devel libpng-devel openssl-devel 
        libmcrypt-devel libxslt-devel libtidy-devel autoconf 
        iproute net-tools telnet wget curl && 
        yum clean all && 
        rm -rf /var/cache/yum/*
    
    ADD php-5.6.36.tar.gz /
    RUN cd php-5.6.36 && 
        ./configure --prefix=/usr/local/php 
        --with-config-file-path=/usr/local/php/etc 
        --enable-fpm --enable-opcache 
        --with-mysql --with-mysqli --with-pdo-mysql 
        --with-openssl --with-zlib --with-curl --with-gd 
        --with-jpeg-dir --with-png-dir --with-freetype-dir 
        --enable-mbstring --with-mcrypt --enable-hash && 
        make -j 4 && make install && 
        cp php.ini-production /usr/local/php/etc/php.ini && 
        cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf && 
        sed -i "90a daemonize = no" /usr/local/php/etc/php-fpm.conf && 
        mkdir /usr/local/php/log && 
        cd / && rm -rf php* && 
        ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    ENV PATH $PATH:/usr/local/php/sbin
    COPY php.ini /usr/local/php/etc/
    COPY php-fpm.conf /usr/local/php/etc/
    WORKDIR /usr/local/php
    EXPOSE 9000
    CMD ["php-fpm"]
    PHP Dockerfile

    1.3构建nginx Dockerfile

    FROM centos:7
    LABEL maintainer www.ctnrs.com
    RUN yum install -y gcc gcc-c++ make 
        openssl-devel pcre-devel gd-devel 
        iproute net-tools telnet wget curl && 
        yum clean all && 
        rm -rf /var/cache/yum/*
    
    ADD nginx-1.15.5.tar.gz /
    RUN cd nginx-1.15.5 && 
        ./configure --prefix=/usr/local/nginx 
        --with-http_ssl_module 
        --with-http_stub_status_module && 
        make -j 4 && make install && 
        mkdir /usr/local/nginx/conf/vhost && 
        cd / && rm -rf nginx* && 
        ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    ENV PATH $PATH:/usr/local/nginx/sbin
    COPY nginx.conf /usr/local/nginx/conf/nginx.conf
    WORKDIR /usr/local/nginx
    EXPOSE 80
    CMD ["nginx", "-g", "daemon off;"]
    Nginx Dockerfile

    1.4构建php基础镜像

    root@localhost php]# docker build -t php:v1 .      构建php基础镜像
    

    1.5构建Nginx基础镜像

    docker build -t nginx:v1 .
    

    1.6创建mysql容器

    docker run -d --name lnmp_mysql --net lnmp --mount src=mysql-vol,dst=/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8
    

    1.7创建php容器

    docker run -d --name lnmp_php --net lnmp 
    --mount src=wwwroot,dst=/wwwroot php:v1
    

     1.8创建Nginx容器

    docker run -d --name lnmp_nginx --net lnmp -p 88:80 --mount src=wwwroot,dst=/wwwroot 
    --mount type=bind,src=$PWD/php.conf,dst=/usr/local/nginx/conf/vhost/php.conf nginx:v1
    

     1.9验证php是否可用

    vim  /var/lib/docker/volumes/wwwroot/_data/index.php
    <?php phpinfo()?>
    
    http://192.168.1.120:88/   网页打开发现已经可以识别php页面
    

     2.0博客搭建

    tar -xvf wordpress-4.9.4-zh_CN.tar.gz -C /var/lib/docker/volumes/wwwroot/_data/  
    mv wordpress/* /var/lib/docker/volumes/wwwroot/_data
    
    http://192.168.1.120:88 页面就可以打开操作了 

    vi wp-config.php

     二. Docker安装harbor

    上传包并解压
    tar -xvf harbor-offline-installer-v2.0.0.tgz 
    [root@localhost dockerfile]# mv docker-compose-Linux-x86_64 /usr/bin/docker-compost 
    cd harnog
    [root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
    [root@localhost harbor]# chmod  +x /usr/bin/docker-compost 
    [root@localhost harbor]# ./prepare
    [root@localhost harbor]# ./install.sh 
    mkdir /root/ssl/   cd /root/ssl/
    [root@localhost ssl]# sh cfssl.sh 
    [root@localhost ssl]# sh certs.sh 
    
    vim harbor.yml
    
    hostname: reg.ctnrs.com
    http:
      port: 81
    https:
      port: 443
      certificate: /root/ssl/reg.ctnrs.com.pem
      private_key: /root/ssl/reg.ctnrs.com-key.pem
    
    scp /root/ssl/reg.ctnrs.com.pem 192.168.1.121:/etc/docker/certs.d/reg.ctnrs.comreg.ctnrs.com.crt
    
    vim /etc/hosts/
    192.168.1.120 reg.ctnrs.com
    [root@localhost reg.ctnrs.com]# docker login reg.ctnrs.com
    admin
    Harbor12345   登陆成功
    
    打标签 并上传镜像   一定注意都是域名 因为是以域名签的证书
    [root@localhost reg.ctnrs.com]# docker tag busybox reg.ctnrs.com/library/busybox:v1
    [root@localhost reg.ctnrs.com]# docker push reg.ctnrs.com/library/busybox:v1
    
    
    默认Harboy 数据目录在/data/ 日志在 cat /var/log/harbor/
    

    docker run -d --name lnmp_mysql --net lnmp --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8

  • 相关阅读:
    安卓平台下ARM Mali OpenCL编程-GPU信息检测(转)
    Android 常用的性能分析工具详解:GPU呈现模式, TraceView, Systrace, HirearchyViewer(转)
    windows配置meld
    nginx的学习材料
    nginx+lua组合的web框架
    [转] Linux下防火墙iptables用法规则详及其防火墙配置
    转:关于知乎音视频学习入门的解答
    转: 在创业公司使用C++
    【转】 消息队列设计精要
    转: __asm__ __volatile__内嵌汇编用法简述
  • 原文地址:https://www.cnblogs.com/zhaobin-diray/p/13230167.html
Copyright © 2020-2023  润新知