目录
[1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。](#1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。)
[2、安装搭建私有仓库 Harbor](#2、安装搭建私有仓库 Harbor)
[2.2 磁盘挂载,保存harbor](#2.2 磁盘挂载,保存harbor)
[2.3 修改配置文件](#2.3 修改配置文件)
[2.6 新建一个项目](#2.6 新建一个项目)
3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。
4、Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。
1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。
1.1启动镜像
1.2启动cloud镜像
1.3浏览器访问
IP地址:8080
设置账号密码
2、安装搭建私有仓库 Harbor
2.1下载docker-compose
2.2 磁盘挂载,保存harbor
2.3 修改配置文件
2.4安装
2.5浏览器访问
用户名和密码在harbor.yml中有记录
用户名:admin
密码: Harbor12345
2.6 新建一个项目
2.7修改docker配置,添加harbor为信任地址
2.8将要上传的镜像打上标签
[root@kubernetes-master harbor]# docker pull busybox:latest 拉取镜像
latest: Pulling from library/busybox
3f4d90098f5b: Pull complete
Digest: sha256:3fbc632167424a6d997e74f52b878d7cc478225cffac6bc977eedfe51c7f4e79
Status: Downloaded newer image for busybox:latest
docker.io/library/busybox:latest
docker tag busybox:latest 192.168.96.134:80/demo/busybox:v0.1 打标签
2.9上传镜像
2.10web界面查看
拉取镜像
1.先将之前的镜像删除
拉取
3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。
具体要求如下:
(1)基于centos基础镜像;
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。
创建Dockerfile
[root@kubernetes-master nginx]# cat 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@kubernetes-master nginx]# docker push 192.168.96.134:80/demo/centos7:v1.1
The push refers to repository [192.168.96.134:80/demo/centos7]
An image does not exist locally with the tag: 192.168.96.134:80/demo/centos7
解决办法:
[root@kubernetes-master nginx]# docker tag centos:latest 192.168.96.134:80/demo/centos7:v1.1
[root@kubernetes-master nginx]# docker push 192.168.96.134:80/demo/centos7:v1.1
The push refers to repository [192.168.96.134:80/demo/centos7]
74ddd0ec08fa: Pushed
v1.1: digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc size: 529
查看web界面
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)验证镜像。
编写Dockerfile
FROM centos:7
MAINTAINER "FOX"
COPY mysql.repo /etc/yum.repos.d/
COPY epel.repo /etc.yum.repos.d/
RUN yum clean all && yum makecache && yum install -y mysql-server php php-gd php-mysql httpd && \
sed -i "s/#ServerName www.example.com:80/ServerName www.example.com:80/" /etc/httpd/conf/httpd.conf && \
echo "<?php phpinfo(); ?>" > /var/www/html/index.php
EXPOSE 80/tcp 3306/tcp
COPY start.sh /opt/
RUN chmod +x /opt/start.sh
CMD ["/opt/start.sh"]
start.sh
#!/bin/bash
/usr/sbin/httpd &
/usr/sbin/mysqld --user=mysql &
tail -f /dev/null
登录
打标签
docker tag lamp:v1.1 192.168.96.134:80/demo/lamp:v1.1
上传镜像
[root@kubernetes-master lamp]# docker push 192.168.96.134/demo/lamp:v1.1
The push refers to repository [192.168.96.134/demo/lamp]
cc32351b5cc2: Pushed
516365b20893: Pushed
d0be8416d3fd: Pushed
acedef93300c: Pushed
174f56854903: Mounted from demo/centos7
v1.1: digest: sha256:74d3d51a999ec3234febc5788018a8f46b58b02461f5e82b8e89268f3bb7b570 size: 1363