0、先創建一個文件夾img
mkdir img
1、Linux上新建3個文件
2、文件內容分別寫入
(1)Dockerfile中
# 基於的基礎鏡像centos FROM centos # 維護該鏡像的用戶信息 MAINTAINER The CentOS Project<cloud-ops@centos.org> # 鏡像中的操作指令:安裝apache軟件包 RUN yum -y update RUN yum -y install httpd # 開啟鏡像中的80端口 EXPOSE 80 # 復制網址首頁文件 ADD index.html /var/www/html/index.html # 將執行腳本復制到鏡像中 ADD run.sh /run.sh RUN chmod 775 /run.sh # 啟動容器時執行腳本 CMD ["/run.sh"]
(2)index.html中
web test
(3)run.sh中
#!/bin/bash rm -rf /run/httpd/* exec /usr/sbin/apachectl -D FOREGROUND
說明:
rm -rf /run/httpd/* 清理httpd的緩存
exec /usr/sbin/apachectl -D FOREGROUND 啟動apache服務
3、使用Dockerfile生成鏡像
docker build -t httpd:centos .
-t 指定鏡像標簽
后面就會使用剛才編寫的Dockerfile自動創建生成鏡像。
可以看到整個創建過程中,每運行一次Dockerfile中的指令,都會給初始鏡像加上新的一層。
4、使用新的鏡像運行容器
docker run -dit -p 49180:80 httpd:centos
運行此命令前:先檢查
(1)docker images 新建鏡像是否存在
(2)netstat -an |grep 49180 宿主機中端口49180是否被占用,如果端口被占用就換一個端口號
注意:80端口是容器中的端口,不用管
運行此命令后:檢查
docker ps -a
看看該容器是否在運行(up)
5、防火牆開放宿主機的端口49180
firewall-cmd --zone=public --list-ports firewall-cmd --zone=public --add-port=49180/tcp --permanent firewall-cmd --reload
6、瀏覽器訪問
ip:49180