使用Dockerfile搭建Apache,dockerfileapache


第一步:准备相关文件 1 文件结构图如下
[root@localhost apache_ubuntu]# ls
Dockerfile  run.sh  sample
[root@localhost apache_ubuntu]# cd sample
[root@localhost sample]# ls
index.html

2 Dockerfile的内容
[root@localhost apache_ubuntu]# cat Dockerfile
# Dockerfile
FROM sshd:dockerfile
MAINTAINER cakin24 20171124
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get -yq install apache2 && rm -rf /var/lib/apt/lists/*
RUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
ADD run.sh /run.sh
RUN chmod 755 /*.sh
RUN mkdir -p /var/lock/apache2 && mkdir -p /app && rm -rf /var/www/html/* && ln -s /app/ /var/www/html/
COPY sample/ /app
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid
ENV APACHE_RUN_DIR /var/run/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_SERVERADMIN admin@localhost
ENV APACHE_SERVERNAME localhost
ENV APACHE_SERVERALIAS docker.localhost
ENV APACHE_DOCUMENTROOT /var/www
EXPOSE 80
WORKDIR /app
CMD ["/run.sh"]

3 run.sh的内容
[root@localhost apache_ubuntu]# cat run.sh
#!/bin/bash
# start ssh service
/usr/sbin/sshd &
# start apache service
exec apache2 -D FOREGROUND

4 index.html的内容
[root@localhost sample]# cat index.html
<!DOCTYPE html>
<html>
<body>
<p>Hello, Docker! from cakin24</p>
</body>
</html>

第二步:创建镜像 [root@localhost apache_ubuntu]# docker build -t apache:ubuntu .
第三步:运行容器
docker run -d -P apache:ubuntu
[root@localhost apache_ubuntu]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                          NAMES
1a0d5230b850        apache:ubuntu       "/run.sh"                13 seconds ago      Up 11 seconds       0.0.0.0:32771->22/tcp, 0.0.0.0:32770->80/tcp   peaceful_ramanujan
bb621aee1faa        e0265d74dcff        "/run.sh"                13 minutes ago      Up 13 minutes       0.0.0.0:32769->22/tcp, 0.0.0.0:32768->80/tcp   gracious_curie
46de738e5ec8        adminer:latest      "entrypoint.sh doc..."   About an hour ago   Up About an hour    8080/tcp                                       mysql_adminer.1.nm6rqhtbfn5bdmnlf3a0l29im
3b5df1875812        mysql:latest        "docker-entrypoint..."   About an hour ago   Up About an hour    3306/tcp                                       mysql_db.1.tt5o1xkaeuc9tkvl7e5uc6rge

第四步:测试容器 第五步:上传镜像到官网
[root@localhost apache_ubuntu]# docker tag apache:ubuntu cakin24/apache:ubuntu
[root@localhost apache_ubuntu]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
cakin24/apache      ubuntu              137a9a91233a        12 minutes ago      293MB
apache              ubuntu              137a9a91233a        12 minutes ago      293MB
<none>              <none>              e0265d74dcff        25 minutes ago      293MB
<none>              <none>              8886590a29a7        32 minutes ago      293MB
<none>              <none>              d5fd6b7d12d4        About an hour ago   293MB
sshd                dockerfile          24641d32c072        47 hours ago        276MB
cakin24/sshd        dockerfile          24641d32c072        47 hours ago        276MB
sshd                ubuntu              ac3169fe4fcf        47 hours ago        284MB
ubuntu              14.04               d6ed29ffda6b        6 days ago          221MB
tomcat              latest              11df4b40749f        9 days ago          557MB
adminer             <none>              faa9618a39a6        2 weeks ago         58.8MB
mysql               latest              5709795eeffa        2 weeks ago         408MB
hello-world         latest              725dcfab7d63        2 weeks ago         1.84kB
clearlinux          latest              32685d114002        2 weeks ago         62.5MB
alpine              latest              053cde6e8953        2 weeks ago         3.96MB
[root@localhost apache_ubuntu]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: cakin24
Password:
Login Succeeded
[root@localhost apache_ubuntu]# docker push cakin24/apache:ubuntu



相关内容

    暂无相关文章