文章目录
1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。
(1)下载mysql:5.6和owncloud镜像
[root@sql2 ~]# docker pull mysql:5.6
[root@sql2 ~]# docker pull owncloud
(2)创建启动mysql:5.6和owncloud容器
[root@sql2 ~]# docker run -itd --name mysql --env MYSQL_ROOT_PASSWORD=123456 mysql:5.6
[root@sql2 ~]# docker run -itd -p 80:80 --name owncloud --link mysql:mysql owncloud
(3)在浏览器中输入网盘服务器的IP地址,进行账号注册
2、安装搭建私有仓库 Harbor
(1)下载Harbor安装包并解压,修改配置文件
[root@sql2 ~]# tar xf harbor-offline-installer-v2.8.4.tgz
[root@sql2 ~]# cd harbor/
[root@sql2 harbor]# cp harbor.yml.tmpl harbor.yml
下载docker-compose插件
[root@localhost harbor]#curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
赋予该插件执行权限
[root@localhost harbor]# chmod +x /usr/local/bin/docker-compose
[root@sql2 harbor]# vim harbor.yml
[root@sql2 harbor]# ./install.sh
(2)在浏览器输入hostname和指定的端口号
默认账号为admin、密码为Harbor12345
3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:
(1)基于centos基础镜像;
拉取centos镜像
[root@localhost ~]# docker pull centos:7
(2)指定作者信息;
[root@localhost ~]# mkdir /centos:7
[root@localhost ~]# cd /centos
[root@localhost centos]# touch index.html
[root@localhost centos]# echo 'hello nginx' > index.html
[root@localhost centos]# vim Dockerfile
FROM centos
MAINTAINER "haha <haha@163.com>"
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
RUN yum install wget -y && cd /etc/yum.repos.d/ && rm -rf ./* && \wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
RUN yum install -y nginx
COPY index.html /usr/share/nginx/html/
(4)暴露80端口;
EXPOSE 80
(5)设置服务自启动。
(6)验证镜像。
[root@localhost centos]# docker build -t nginx:v1 .
[root@localhost centos]# docker run -p 8080:80 --name ng nginx:v1
4、Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。具体要求如下:
(1)基于centos:6基础镜像;
[root@localhost ~]# mkdir lamp
[root@localhost ~]# cd lamp/
[root@localhost lamp]# docker pull centos:6
(2)指定作者信息;
FROM centos:6 MAINTAINER “lan lan@163.com”
(3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
RUN yum install wget -y && cd /etc/yum.repos.d/ && rm -rf ./* && \wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo && \wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
RUN yum install -y httpd mysql mysql-server php php-mysql php-gd
RUN echo "this is html" > /var/www/html/index.html
(4)暴露80和3306端口;
EXPOSE 80 EXPOSE 3306
(5)设置服务自启动。
CMD [“httpd”,“-DFOREGOUND;”]
(6)验证镜像。
[root@localhost lamp]# docker build -t lamp:v1.1 .
[root@localhost lamp]# docker run -p 8070:80 --name lp lamp:v1.1