Dockerfile制作镜像与搭建LAMP环境

一.编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:

 (1)基于centos基础镜像;
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。

1.编写Dockerfile

我们应该尽量的在一个空目录里

#基于centsos
FROM centos:7
#指定信息
MAINTAINER "w<[email protected]>"
#安装Nginx
ADD http://nginx.org/download/nginx-1.22.1.tar.gz /usr/local/src
#默认主页
COPY dest /usr/share/nginx/
#暴露端口
EXPOSE 80
#启动nginx
CMD ["/usr/sbin/nginx", "-g", "daemon off;"]

 dest文件

2.构建镜像

docker build -t w-nginx:v1.1 ./
  • docker build`:这是 Docker 构建镜像的命令。
  • `-t w-nginx:v1.1`:此选项用于为镜像指定名称和标签。
  • `./`:此选项指定 Dockerfile 的位置。`.` 表示当前目录。Docker 将在此目录下查找名为 `Dockerfile` 的文件。

3.登录harbor

Dockerfile制作镜像与搭建LAMP环境_第1张图片

 4.给镜像打标签

docker tag w-nginx:v1.1 192.168.227.137/test/w-nginx:v1.1

 5.推送镜像

 docker push 192.168.227.137/test/w-nginx:v1.1 

 Dockerfile制作镜像与搭建LAMP环境_第2张图片

二、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.由于centos6已经下线,所有我们要跟换centos-vault源!

wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo

2.编写Dockerfile

#基于centos6
FROM centos:6
#指定作者信息
MAINTAINER "w <[email protected]>"
#将新的yum源复制到centos中
COPY CentOS-Base.repo /etc/yum.repos.d/
#安装软件
RUN yum install -y httpd mysql mysql-server php php-mysql php-gd
#暴露端口
EXPOSE 80/tcp
EXPOSE 3306/tcp
#启动服务
CMD ["/bin/bash","-c", "service httpd start && service mysqld start && tail -f /dev/null"]

3.构建镜像

docker build -t w-lamp:v1.1 ./

 4.验证镜像

Dockerfile制作镜像与搭建LAMP环境_第3张图片

 5.给镜像打上标签

docker tag w-lamp:v1.1 192.168.227.137/test/w-lamp:v1.1

6.推送镜像 

 Dockerfile制作镜像与搭建LAMP环境_第4张图片

 

你可能感兴趣的:(linux)