首先准備好docker-ce的rpm包
- 安裝docker並啟動docker
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache fast yum -y install docker-ce systemctl start docker vi /etc/docker/daemon.json
####添加下面內容 { "registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"] } #####保存退出 systemctl restart docker |
2.啟動centos容器后安裝httpd並生成新的鏡像
docker pull centos ###會獲得鏡像的ID docker run -itd centos /bin/bash ###會獲得容器的ID docker exec -it (輸入容器ID) bash ###進入docker容器后: yum install -y httpd ###安裝完成后,ctrl+d 退出容器。 ####下面通過改變后的容器生成新的一個鏡像 docker commit -m “install httpd” -a “keyuan_test” (輸入容器ID) 新的鏡像名 ###下面通過新產生的鏡像來創建容器,並指定8080:80 docker run -itd -p 8080:80 新的鏡像名 /bin/bash ####通過下面命令進入docker容器 docker exec -it 新鏡像產生的容器ID bash ####進入容器后,啟動httpd,並通過ctrl+d退出容器,使用瀏覽器或者curl命令訪問80端口 httpd -k start curl localhost:8080 |
具體執行參考下面圖形,特別時 鏡像id和容器id的使用。
從docker hub上拉centos鏡像,並通過docker images 命令查看鏡像ID
通過鏡像id來啟動容器,並通過docker exec 命令進入容器並安裝httpd
在容器內httpd服務安裝完成並ctrl+d退出。
查看當前啟動的容器
通過這個容器id提交並生成新的鏡像
通過新的鏡像ID,啟動容器,並映射8080端口到容器的80端口。
進入已安裝httpd的容器並啟動httpd后通過ctrl+d退出
通過curl的命令訪問localhost:8080
表示成功映射到容器內部的80端口。