• 使用docker搭建owncloud && Harbor && 构建镜像


    1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。
    2、安装搭建私有仓库 Harbor
    3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:
    (1)基于centos基础镜像;
    (2)指定作者信息;
    (3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
    (4)暴露80端口;
    (5)设置服务自启动。
    (6)验证镜像。
    4、Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。具体要求如下:
    (1)基于centos:6基础镜像;
    (2)指定作者信息;
    (3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
    (4)暴露80和3306端口;
    (5)设置服务自启动。
    (6)验证镜像。

    使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。

    拉取镜像:

    docker pull owncloud

    docker pull mysql5.7

    创建容器:

    Docker run --name owncloud-mysql  -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=root  -v /haha/owncloud/mysql:/var/lib/mysql mysql:5.7

    Docker run --name owncloud --link owncloud-mysql:mysql -v /haha/data/ownclouddata:/data -p 8080:80 -d owncloud

    安装搭建私有仓库 Harbor

    下载docker-compose

    curl -L"https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    解压安装包安装Harbor

    tar -xf harbor.v.2.8.4.tar.gz

    运行安装脚本install.sh

    sh install.sh

    修改harbor配置文件

    编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:
    (1)基于centos基础镜像
    (2)指定作者信息;
    (3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
    (4)暴露80端口;
    (5)设置服务自启动。
    (6)验证镜像
    创建扩展dockfile目录

    [root@localhost dockerfile]mkdir -p /path/dockerfil

    编辑epel扩展仓库

    vim epel.repo

    [epel]

    name="epel"

    baseurl=https://repo.huaweicloud.com/epel/7/x86_64/

    gpgcheck=0

    创建index.html文件

    vim index.html

    编辑dockfile文件 

    vim dockfile

    FROM centos:7

    MAINTAINER "newnginx "

    COPY epel.repo /etc/yum.repos.d

    ENV PATH /usr/local/nginx/sbin:$PATH     

    ADD  nginx-1.22.1.tar.gz /usr/local/

    RUN yum -y install epel-release.noarch

    RUN yum install -y wget lftp gcc gcc-c++ make openssl-devel pcre-devel pcre && yum clean all

    RUN useradd -s /sbin/nologin -M www

    WORKDIR /usr/local/nginx-1.22.1

    RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-pcre && make && make install

    COPY index.html /usr/share/nginx/html/

    EXPOSE 80

    CMD ["nginx","-g","daemon off;"]

    上传源码包   nginx-1.22.1.tar.gz 生成镜像

    docker build -t nginx:v1.1 -f dockfile .

    基于此镜像创建容器

    docker run --name web1 -p 83:80 nginx:v1.1

    上传镜像到私人仓库 harbor

    修改 daemon.json文件

    进行访问

    {

    "registry-mirrors": ["https://registry.docker-cn.com"],

    "insecure-registries": ["http://192.168.100.146:5100"]

    }

    systemctl daemon-reload

    systemctl  restart docker

    [root@localhostharbor]# docker tag nginx:v1.1   192.168.100.146:5100/library/newnginx

    [root@localhost harbor]# docker push 192.168.100.146:5100/library/newnginx

    登录并且上传镜像

    [root@localhostharbor]# docker tag nginx:v1.1   192.168.100.146:5100/library/newnginx

    [root@localhost harbor]# docker push 192.168.100.146:5100/library/newnginx

    拉取并验证镜像

    [root@localhost harbor]# docker pull 192.168.100.146:5100/library/newnginx:v1.1

    [root@localhost docker]# docker run --name web2 -p 83:80 192.168.100.146:5100

    /library/newnginx

    Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。具体要求如下:
    (1)基于centos:6基础镜像;
    (2)指定作者信息;
    (3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
    (4)暴露80和3306端口;
    (5)设置服务自启动。
    (6)验证镜像

    创建dockfile目录

    RUN yum install -y httpd mysql mysql-server php php-mysql php-gd

    RUN echo "ServerName localhost:80" >> /etc/httpd/conf/httpd.conf

    EXPOSE 80/tcp

    EXPOSE 3306/tcp

    CMD ["httpd","-DFOREGROUND"]

    生成镜像并检测

    docker build -t lamp:v1.1 -f dockfile .

    docker run --name lamp -p 81:80 lamp:v1.1

    上传镜像到私有仓库

    打标签:docker tag 192.168.100.146:5100/library/lamp:v1.1 lamp:v1.1

    推送:docker push 192.168.100.146:5100/library/lamp

    从仓库拉取镜像并运行

    [root@localhost web1]# docker pull 192.168.100.146:5100/library/lamp:v1.1

    docker run -d --name web1 -p 82:80 192.168.100.146:5100/library/lamp:v1.1

  • 相关阅读:
    Hi3861 OpenHarmony嵌入式应用入门--鸿蒙开发环境搭建
    Java并发 | 17.[锁机制] 重量级锁(Monitor+自旋锁)
    图片怎么转成PDF?分享三个转换方法
    Linux 操作系统中如何检查系统的启动和关机日志
    使用QT的QML实时显示海康威视网络摄像头的视频数据
    Mybatis-Plus--逻辑删除的用法
    如何查看网站的https的数字证书
    滴答定时器
    python代码里不写for循环?更简洁、规范、结构化~
    面试题整理
  • 原文地址:https://blog.csdn.net/m0_70940822/article/details/132708235