1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。
2、安装搭建私有仓库 Harbor
3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:
(1)基于centos基础镜像;
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。
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)验证镜像。
使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。
拉取镜像:
docker pull owncloud
docker pull mysql5.7
创建容器:
Docker run --name owncloud-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=root -v /haha/owncloud/mysql:/var/lib/mysql mysql:5.7
Docker run --name owncloud --link owncloud-mysql:mysql -v /haha/data/ownclouddata:/data -p 8080:80 -d owncloud
安装搭建私有仓库 Harbor
下载docker-compose
curl -L"https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
解压安装包安装Harbor
tar -xf harbor.v.2.8.4.tar.gz
运行安装脚本install.sh
sh install.sh
修改harbor配置文件
编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:
(1)基于centos基础镜像
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。
创建扩展dockfile目录
[root@localhost dockerfile]mkdir -p /path/dockerfil
编辑epel扩展仓库
vim epel.repo
[epel]
name="epel"
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
gpgcheck=0
创建index.html文件
vim index.html
编辑dockfile文件
vim dockfile
FROM centos:7
MAINTAINER "newnginx <newnginx@com>"
COPY epel.repo /etc/yum.repos.d
ENV PATH /usr/local/nginx/sbin:$PATH
ADD nginx-1.22.1.tar.gz /usr/local/
RUN yum -y install epel-release.noarch
RUN yum install -y wget lftp gcc gcc-c++ make openssl-devel pcre-devel pcre && yum clean all
RUN useradd -s /sbin/nologin -M www
WORKDIR /usr/local/nginx-1.22.1
RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-pcre && make && make install
COPY index.html /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx","-g","daemon off;"]
上传源码包 nginx-1.22.1.tar.gz 生成镜像
docker build -t nginx:v1.1 -f dockfile .
基于此镜像创建容器
docker run --name web1 -p 83:80 nginx:v1.1
上传镜像到私人仓库 harbor
修改 daemon.json文件
进行访问
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["http://192.168.100.146:5100"]
}
systemctl daemon-reload
systemctl restart docker
[root@localhostharbor]# docker tag nginx:v1.1 192.168.100.146:5100/library/newnginx
[root@localhost harbor]# docker push 192.168.100.146:5100/library/newnginx
登录并且上传镜像
[root@localhostharbor]# docker tag nginx:v1.1 192.168.100.146:5100/library/newnginx
[root@localhost harbor]# docker push 192.168.100.146:5100/library/newnginx
拉取并验证镜像
[root@localhost harbor]# docker pull 192.168.100.146:5100/library/newnginx:v1.1
[root@localhost docker]# docker run --name web2 -p 83:80 192.168.100.146:5100
/library/newnginx
Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。具体要求如下:
(1)基于centos:6基础镜像;
(2)指定作者信息;
(3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
(4)暴露80和3306端口;
(5)设置服务自启动。
(6)验证镜像
创建dockfile目录
RUN yum install -y httpd mysql mysql-server php php-mysql php-gd
RUN echo "ServerName localhost:80" >> /etc/httpd/conf/httpd.conf
EXPOSE 80/tcp
EXPOSE 3306/tcp
CMD ["httpd","-DFOREGROUND"]
生成镜像并检测
docker build -t lamp:v1.1 -f dockfile .
docker run --name lamp -p 81:80 lamp:v1.1
上传镜像到私有仓库
打标签:docker tag 192.168.100.146:5100/library/lamp:v1.1 lamp:v1.1
推送:docker push 192.168.100.146:5100/library/lamp
从仓库拉取镜像并运行
[root@localhost web1]# docker pull 192.168.100.146:5100/library/lamp:v1.1
docker run -d --name web1 -p 82:80 192.168.100.146:5100/library/lamp:v1.1