一看必會系列:dockerfile 練習3 繼承方式創建apache鏡像

來源:本站原創 Docker 超過274 views圍觀 0條評論

 

目錄
../ubuntu_apache/
├── dockerfile
├── html
│   └── index.html
└── run.sh

相關文件內容
1.dockerfile
FROM reg.ccie.wang/test/ubuntu:sshd001  #繼承前面做的鏡像,已經包含sshd
MAINTAINER docker_user_jeff
ENV DEBIAN FRONTEND noninteractive
RUN apt-get -yq install apache2&&\
    rm -rf /var/lib/apt/lists/*
ADD run.sh /run.sh
RUN chmod 755 /*.sh
RUN mkdir -p /var/lock/apache2 &&mkdir -p /app &&\
    rm -fr /var/www/html && \
    ln -s /app /var/www/html &&\
    mkdir -p /var/run/apache2
COPY html/ /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_SERVERNAME localhost
ENV APACHE_SERVERALIAS docker.localhost
ENV APACHE_DOCUMENTROOT /var/www
ENV APACHE_LOCK_DIR /var/lock/apache2

EXPOSE 80
WORKDIR /app
CMD ["/run.sh"]

2.run.sh
#!/bin/bash
#啟動sshd
/usr/sbin/sshd &  
#啟動 apache2
exec apache2 -D FOREGROUND

3. index.html
<h1>docker ubuntu_apache by jeff</h1>

建立鏡像
docker build -t apache:ubuntu004 .

查看鏡像
docker images |grep 004
apache                            ubuntu004           6197aa3de935        6 minutes ago       280MB

啟動并查看 環境是否正確
docker run -it –rm apache:ubuntu004 env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=aad3a9045a75
TERM=xterm
DEBIAN=FRONTEND noninteractive
APACHE_RUN_USER=www-data
APACHE_RUN_GROUP=www-data
APACHE_LOG_DIR=/var/log/apache2
APACHE_PID_FILE=/var/run/apache2.pid
APACHE_RUN_DIR=/var/run/apache2
APACHE_SERVERNAME=localhost
APACHE_SERVERALIAS=docker.localhost
APACHE_DOCUMENTROOT=/var/www
APACHE_LOCK_DIR=/var/lock/apache2
HOME=/root

 

創建容器  并將容器內80端口映射到主機的 8081
# docker run -itd -p 8082:80 -p 18081:22 reg.ccie.wang/test/ubuntu:apache2.4.29 /run.sh
176ae6ea0ebbc1c8707576cece1a0265cf2b52839f1ec37fb9d7b0281a967a2e

# docker ps
CONTAINER ID        IMAGE                                    COMMAND              CREATED             STATUS              PORTS                                         NAMES
176ae6ea0ebb        reg.ccie.wang/test/ubuntu:apache2.4.29   "/run.sh"            4 seconds ago       Up 2 seconds        0.0.0.0:18081->22/tcp, 0.0.0.0:8082->80/tcp   condescending_noyce

回主機測試 8081服務是否正常
# curl localhost:8081
<h1>docker ubuntu_apache by jeff</h1>
#以上結果為正常

查看安裝apache2產生的可回收文件

[email protected]:/# du -h –max-depth=1 /var/lib/apt/lists/
4.0K    /var/lib/apt/lists/partial
4.0K    /var/lib/apt/lists/auxfiles
24M    /var/lib/apt/lists/

刪除減少鏡像
[email protected]:/# rm -rf /var/lib/apt/lists/*
[email protected]:/#
[email protected]:/#
[email protected]:/# du -h –max-depth=1 /var/lib/apt/lists/
8.0K    /var/lib/apt/lists/
[email protected]:/#

報錯   docker寫的有問題  值 沒有傳入鏡像 已更正

# docker run -it –rm apache:ubuntu002 /run.sh
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=4084轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏 北京时时彩65期开奖号 山西快乐十分钟规则 美人捕鱼游戏下载安装 六合彩开码 广西快乐十分走势图彩票控 吉林快3信用盘 北京11选5嘉奖 瑞拉币怎么赚钱 快速赛车骗人 厦门学做甜品赚钱 五子棋布局技巧 南国七星彩彩票论坛 开饮品加盟店赚钱吗 广东11选5技巧 ag飞禽走兽20秒一开 福彩3d012路走势图1