1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。
[root@node1 ~]# docker run -d --name db1 -e MYSQL_ROOT_PASSWORD=12345 mysql:5.7
fec11d9b44824210e701b08c8cfea565da357fcc4a10b04b6bb8b218a413ddac
[root@node1 ~]# docker run -d --name old --link db1:mysql -p 80:80 owncloud
d6528dd006e8763c22f57e0ff41c832659071424c511856f3356b1168821a3a0
2、安装搭建私有仓库 Harbor
1)、下载harbor安装包并解压,修改配置文件
#解压安装包
[root@master ~]# tar xf harbor-offline-installer-v2.9.0.tgz -C /usr/local/
#按照模板修改配置文件(修改3个地方:hostname,http端口,注释掉https(没有配置证书启动会报错)
[root@master harbor]# cp harbor.yml.tmpl harbor.yml
[root@master harbor]# vim harbor.yml2)、下载docker-compose插件
[root@master ~]# curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#赋予执行权限
[root@master ~]# chmod +x /usr/local/bin/docker-compose
#测试是否安装成功
3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:
(1)基于centos基础镜像;
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。
1)基于centos基础镜像;
[root@localhost ~]# docker pull centos:7
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
[root@localhost ~]# mkdir centos
[root@localhost ~]# cd centos/
[root@localhost centos]# touch index.html
[root@localhost centos]# echo 'Welcon to Nginx' > index.html
[root@localhost centos]# vim Dockerfile
FROM centos:7
MAINTAINER "FANT<FANT@163.com>"
RUN yum install wget -y && cd /etc/yum.repos.d/ && rm -rf ./* && \
wget -0 /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \
wget -0 /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/
EXPOSE 80
CMD ["/usr/sbin/nginx","-g","daemon off;"]
(6)验证镜像。
[root@localhost centos]# docker build -t nginx:v1 .
[root@localhost centos]# docker run -p 8090:80 --name ng nginx:v1
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)验证镜像。
要求如下:
(1)基于centos:6基础镜像;
[root@localhost ~]# mkdir lamp
[root@localhost lamp]#docker pull centos:6
(2)指定作者信息;
(3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
(4)暴露80和3306端口;
(5)设置服务自启动。
[root@bogon lamp]#wget -O /root/lamp/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
[root@localhost lamp]# vim Dockerfile
FROM centos:6
MAINTAINER "ft<ft@163.com>"
ADD CentOS-Base.repo /etc/yum.repos.d/
RUN yum install -y httpd mysql mysqL-server php php-mysqL php-gd && \
yum clean all && yum makecache
EXPOSE 80
EXPOSE 3306
CMD ["sh", "-c", "service httpd start && service mysqld start && tail -f /var/log/httpd/access_log"]
[root@localhost lamp]# docker build -t lamp:v1.1 .
(6)验证镜像。
[root@localhost lamp]# docker run -p 8060:80 --name lp lamp:v1.1