1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。
[root@localhost]# systemctl stop firewalld
[root@localhost]# setenforce 0
[root@localhost]# docker pull mysql:5.6
[root@localhost]# docker pull owncloud
[root@localhost]# docker run -d --name db --env
MYSQL_ROOT_PASSWORD=123456 mysql:5.6
[root@localhost]# docker run -d --name owncloud -p 80:80 --link db:db owncloud
注册好后登录,网盘创建完成
2、安装搭建私有仓库 Harbor
[root@node1 ~]# ll
-rw-r–r–. 1 root root 612698835 7月 19 15:05 harbor-offline-installer-v2.4.1.tgz
[root@node1 ~]# tar xfharbor-offline-installer-v2.4.1.tgz
[root@node1 ~]# ls anaconda-ks.cfg harbor harbor-offline-installer-v2.4.1.tgz ubuntu.tar
[root@node1 ~]# cd harbor/
[root@node1 harbor]# ls common.sh harbor.v2.4.1.tar.gz harbor.yml.tmpl install.sh LICENSE prepare
[root@node1 harbor]# cp harbor.yml.tmpl harbor.yml
修改配置
[root@node1 harbor]# vim harbor.yml
//改动三处:hostname、port、注释掉https的内容
5 hostname: node1.openlab.cn
8 http:
10 port: 80
13 #https:
14 # https port for harbor, default is 443
15 # port: 443
16 # The path of cert and key files for nginx
17 #certificate: /your/certificate/path
18 #private_key: /your/private/key/path
安装
[root@node1 harbor]# ./install.sh …
[Step 5]: starting Harbor …
Creating harbor-log … done
Creating registry … done
Creating registryctl … done
Creating harbor-portal … done
Creating redis … done Creating harbor-db … done
Creating harbor-core …done
Creating harbor-jobservice … done
Creating nginx … done
? ----Harbor has been installed and started successfully.----
安装完成后在浏览器中访问——默认账号为admin、密码为Harbor12345
外部登录
创建用户tom
新建项目test
在test项目中添加用户tom
修改daemon.json文件
[root@localhost harbor]# vim /etc/docker/daemon.json
{
“registry-mirrors”: [“https://5lhr81f2.mirror.aliyuncs.com”],
“insecure-registries”:[“192.168.163.140”]
}
修改hosts文件
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.163.140 node1.openlab.cn
重启服务登录
[root@localhost harbor]# systemctl restart docker
[root@localhost harbor]# docker-compose up -d
[root@localhost harbor]# docker login -u tom -p Harbor12345 192.168.163.140
WARNING! Using --password via the CLI is insecure. Use --password-stdin. 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
3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:
(1)基于centos基础镜像;
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。
Dockerfile内容如下
FROM centos:7
MAINTAINER “yuchen yuchen@domain.com”
COPY epel.repo/etc/yum.repos.d
RUN yum install -y nginx
COPY index.html/usr/share/nginx/html/
EXPOSE 80 CMD
[“/usr/sbin/nginx”,“-g”,“daemon off;”]
制作镜像nginx:v1.1
[root@localhost nginx]# docker build -t nginx:v1.1 ./
验证镜像
[root@localhost nginx]# docker run -p 8080:80 --name ng111 nginx:v1.1
[root@localhost nginx]# docker ps | grep ng111
a95b39e9e7ce nginx:v1.1 “/usr/sbin/nginx -g …” 8minutes ago Up 8 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp ng111
上传镜像至Harbor
[root@localhost ~]# docker tag nginx:v1.1node1.openlab.cn/test/nginx:v1.1 > [root@localhost ~]# docker push node1.openlab.cn/test/nginx:v1.1
4、Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。具体要求如下:
(1)基于centos:7基础镜像;
(2)指定作者信息;
(3)安装httpd、mariadb-server、php、php-mysql、php-gd;
(4)暴露80和3306端口;
(5)设置服务自启动。
(6)验证镜像。
dockerfile文件如下
验证镜像
[root@localhost lamp]# docker build -t lamp:v1.1 ./
[root@localhost lamp]# docker run -it -p 88:80 lamp:v1.1
[root@localhost lamp]# cd /var/www/html/
[root@localhost lamp]# vi index.php
<
?php phpinfo();
?>
上传镜像
[root@localhost ~]# docker tag lamp:v1.1 node1.openlab.cn/test/lamp:v1.1
[root@localhost ~]# docker push node1.openlab.cn/test/lamp:v1.1