【使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 安装搭建私有仓库 Harbor】

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

[root@node1 ~]# docker pull mysql:5.6
[root@node1 ~]# docker pull owncloud
[root@node1 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mysql        5.6       dd3b2a5dcb48   20 months ago   303MB
owncloud     latest    327bd201c5fb   4 years ago     618MB

[root@node1 ~]# [root@node1 ~]# docker run -itd --name mysql --env MYSQL_ROOT_PASSWORD=123456 mysql:5.6
534147e0299de38d65b812a60308d2814b0d825c16e7b627dd331111ae592b78
[root@node1 ~]# docker run -itd --name web --link mysql:mysql -p 80:80 owncloud:latest 
f7296c932215ebc76032cf92b2fb6e3bb0865f8ebc42a96b3822efccdd31b071
[root@node1 ~]# docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED              STATUS              PORTS                               NAMES
f7296c932215   owncloud:latest   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, :::80->80/tcp   web
534147e0299d   mysql:5.6         "docker-entrypoint.s…"   23 minutes ago       Up 23 minutes       3306/tcp                            mysql

在这里插入图片描述
登录
在这里插入图片描述

2、安装搭建私有仓库 Harbor

1、安装docker编排工具docker-compose
[root@node1 ~]# curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
[root@node1 ~]# chmod +x /usr/local/bin/docker-compose
[root@node1 ~]# docker-compose version
Docker Compose version v2.20.3
2、下载Harbor安装包
[root@node1 ~]# wget -c https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
[root@node1 ~]# tar xf harbor-offline-installer-v2.8.4.tgz -C /usr/local/
#配置Harbor服务
[root@node1 ~]# cd /usr/local/harbor/
[root@node1 harbor]# cp harbor.yml.tmpl harbor.yml
[root@node1 harbor]# vim harbor.yml
hostname: www.openlab.cn
#https:     注释
  # https port for harbor, default is 443
#  port: 443   注释
  # The path of cert and key files for nginx
#  certificate: /your/certificate/path  注释
#  private_key: /your/private/key/path  注释

#运行安装脚本
[root@node1 harbor]# ./install.sh

#验证
[root@node1 harbor]# ss -lntup | grep docker
tcp    LISTEN     0      128    127.0.0.1:1514                  *:*                   users:(("docker-proxy",pid=2160,fd=4))
tcp    LISTEN     0      128       *:80                    *:*                   users:(("docker-proxy",pid=2648,fd=4))
tcp    LISTEN     0      128    [::]:80                 [::]:*                   users:(("docker-proxy",pid=2653,fd=4))
[root@node1 harbor]# docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED          STATUS                    PORTS                                   NAMES
82cfabb48518   goharbor/nginx-photon:v2.8.4         "nginx -g 'daemon of…"   33 minutes ago   Up 33 minutes (healthy)   0.0.0.0:80->8080/tcp, :::80->8080/tcp   nginx
cba8220bdaac   goharbor/harbor-jobservice:v2.8.4    "/harbor/entrypoint.…"   33 minutes ago   Up 33 minutes (healthy)                                           harbor-jobservice
8fccbcce1df4   goharbor/harbor-core:v2.8.4          "/harbor/entrypoint.…"   33 minutes ago   Up 33 minutes (healthy)                                           harbor-core
650e51cce899   goharbor/registry-photon:v2.8.4      "/home/harbor/entryp…"   33 minutes ago   Up 33 minutes (healthy)                                           registry
88168c6a76cd   goharbor/redis-photon:v2.8.4         "redis-server /etc/r…"   33 minutes ago   Up 33 minutes (healthy)                                           redis
3551d289961b   goharbor/harbor-db:v2.8.4            "/docker-entrypoint.…"   33 minutes ago   Up 33 minutes (healthy)                                           harbor-db
2aef092a46c1   goharbor/harbor-portal:v2.8.4        "nginx -g 'daemon of…"   33 minutes ago   Up 33 minutes (healthy)                                           harbor-portal
0f5ea6a25345   goharbor/harbor-registryctl:v2.8.4   "/home/harbor/start.…"   33 minutes ago   Up 33 minutes (healthy)                                           registryctl
182670cfb5b6   goharbor/harbor-log:v2.8.4           "/bin/sh -c /usr/loc…"   33 minutes ago   Up 33 minutes (healthy)   127.0.0.1:1514->10514/tcp               harbor-log

通过IP访问,输入账号admin,密码Harbor12345(初始密码在harbor.yml 文件有记录)
在这里插入图片描述

创建用户
在这里插入图片描述
创建项目
在这里插入图片描述
在这里插入图片描述

3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:

(1)基于centos基础镜像;
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。

[root@node1 ~]# mkdir nginx
[root@node1 ~]# cd nginx/
[root@node1 nginx]# mkdir dest
[root@node1 nginx]# echo "nginx test page" > dest/index.html
[root@node1 nginx]# vim Dockerfile
FROM centos:7
MAINTAINER "WWW"
RUN yum install -y http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.24.0-1.el7.ngx.x86_64.rpm
COPY dest/index.html /usr/share/nginx/html/
EXPOSE 80/tcp
ENTRYPOINT ["nginx", "-g", "daemon off;"]


[root@node1 nginx]# docker build -t nginx:v1.1 ./
[+] Building 107.0s (8/8) FINISHED                                                                               docker:default
 => [internal] load build definition from Dockerfile                                                                       0.0s
 => => transferring dockerfile: 270B                                                                                       0.0s
 => [internal] load .dockerignore                                                                                          0.0s
 => => transferring context: 2B                                                                                            0.0s
 => [internal] load metadata for docker.io/library/centos:7                                                               24.6s
 => CACHED [1/3] FROM docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4   0.0s
 => [2/3] RUN yum install -y http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.24.0-1.el7.ngx.x86_64.rpm             80.5s
 => [internal] load build context                                                                                          0.1s
 => => transferring context: 86B                                                                                           0.0s
 => [3/3] COPY dest/index.html /usr/share/nginx/html/                                                                      0.1s
 => exporting to image                                                                                                     1.7s 
 => => exporting layers                                                                                                    1.7s 
 => => writing image sha256:b2787336da641bb0832530fe542d5d475db122e5d2211d669b3db935c19ed1f8                               0.0s 
 => => naming to docker.io/library/nginx:v1.1
[root@node1 nginx]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
nginx        v1.1      b2787336da64   About a minute ago   431MB

[root@node1 ~]# vim /etc/hosts
#添加
192.168.40.128 www.openlab.cn

[root@node1 ~]# vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://hnjwpdu9.mirror.aliyuncs.com"],
  "insecure-registries": ["www.openlab.cn"]
}

#登录
[root@node1 ~]# docker login www.openlab.cn
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

#推送
[root@node1 ~]# docker tag nginx:v1.1 www.openlab.cn/library/nginx:v1.1
[root@node1 ~]# docker push www.openlab.cn/library/nginx:v1.1 
The push refers to repository [www.openlab.cn/library/nginx]
13322b8ab5ee: Pushed 
73b21a078cab: Pushed 
174f56854903: Pushed 
v1.1: digest: sha256:98a7b5b5c3b9dfb30e44d80ff01d7eb7f3d027be6ac195f579ffc9b82d37c472 size: 948

在这里插入图片描述

4、Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。具体要求如下:

(1)基于centos:7基础镜像;
(2)指定作者信息;
(3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
(4)暴露80和3306端口;
(5)设置服务自启动。
(6)验证镜像。

[root@node1 ~]# mkdir lamp
[root@node1 ~]# cd lamp
[root@node1 lamp]# vim Dockerfile
FROM centos:7
MAINTAINER "z<z@com>"
RUN yum install -y httpd mysql mysql-server php php-mysql php-gd
EXPOSE 80/tcp
EXPOSE 3306/tcp
CMD ["httpd", "-DFOREGROUND"]

[root@node1 lamp]# docker build -t lamp:v1.1 .
[+] Building 69.3s (6/6) FINISHED                                                                                                       docker:default
 => [internal] load build definition from Dockerfile                                                                                              0.0s
 => => transferring dockerfile: 200B                                                                                                              0.0s
 => [internal] load .dockerignore                                                                                                                 0.0s
 => => transferring context: 2B                                                                                                                   0.0s
 => [internal] load metadata for docker.io/library/centos:7                                                                                       6.2s
 => CACHED [1/2] FROM docker.io/library/centos:7@sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987                          0.0s
 => => resolve docker.io/library/centos:7@sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987                                 0.0s
 => [2/2] RUN yum install -y httpd mysql mysql-server php php-mysql php-gd                                                                       59.9s
 => exporting to image                                                                                                                            3.1s
 => => exporting layers                                                                                                                           3.1s
 => => writing image sha256:8c770dc5d236f60179ae1f774d40ff3a2742b96eba78a7e158bb9fc75f80c121                                                      0.0s 
 => => naming to docker.io/library/lamp:v1.1                                                                                                      0.0s

[root@node1 lamp]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED              SIZE
lamp                            v1.1      8c770dc5d236   About a minute ago   569MB

[root@node1 lamp]# docker login www.openlab.cn

[root@node1 lamp]# docker tag lamp:v1.1 www.openlab.cn/lamp/lamp:v1.1

[root@node1 lamp]# docker push www.openlab.cn/lamp/lamp:v1.1

在这里插入图片描述
成功
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建私有云是指通过使用一些开源的软件和硬件工具来建立自己的云存储和数据同步服务。Ubuntu是一个常用的操作系统,我们可以使用Ubuntu Server版本来搭建私有云。在Ubuntu Server上安装LAMP(Linux、Apache、MySQL和PHP)软件包,其中Apache是用于Web服务器,MySQL是用于数据库管理,PHP是用于服务器端脚本语言。 在安装完LAMP后,我们需要下载并安装ownCloud软件。ownCloud一个开源的软件,可以提供云存储和文件同步服务。通过ownCloud,我们可以在自己的服务器上搭建类似于Dropbox的云存储服务。 安装ownCloud时,我们需要配置Apache服务器以支持PHP,并创建一个MySQL数据库用于存储ownCloud的数据。在配置完成后,我们可以通过Web浏览器访问ownCloud界面,并进行用户注册和登录。登录后,我们可以上传和下载文件,创建文件夹,进行文件分享和同步等操作。 为了提高私有云的安全性,我们可以配置SSL证书,使用HTTPS协议来保护数据的传输。另外,我们还可以设置用户权限,限制用户对文件和文件夹的访问和操作。 搭建私有云的优点是可以拥有自己的数据,不依赖于第三方云服务提供商,并且可以在任何时间、任何地点访问和同步数据。此外,私有云还可以提供更高的安全性和隐私保护,因为所有的数据都存储在自己的服务器上。 然而,搭建私有云也有一些限制和挑战,比如需要购买和维护服务器硬件和软件,需要有一定的技术知识来进行配置和管理,以及可能会受到网络连接和带宽的限制。 总而言之,搭建私有云可以提供灵活、安全和可控的数据存储和同步服务,适用于个人和小型团队使用。不过,在搭建前需要充分了解和准备相关的技术和资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值