1、拉取一個centos最新的image
docker image pull centos
默認會拉取latest的centos
2、運行這個image,生成一個容器實例,並進入
docker run -it centos:latest /bin/bash
/bin/bash : 容器運行之後用/bin/bash 這個shell來進行操作
參數 -i : – --interactive 即使沒有連接也會保持STDIN打開狀態,如果你想輸入任何命令
的話,你需要這個
參數 -t : – --tty 分配一個僞TTY(各種類型的終端設備),一個連接用戶的“終端”與標準輸入和標準輸出的僞終端
-d : 後臺運行容器,並返回容器ID;
3、一鍵安裝lnmp
wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp
4、編寫啓動命令
touch /bin/startup.sh vi /bin/startup.sh
寫入以下命令:
#!/bin/sh /etc/init.d/mysql start /etc/init.d/php-fpm start /etc/init.d/nginx start #dead loop while ((1)) do sleep 1h done
5、清除下載軟件包、cache等,減少鏡像大小
yum clean all
6、退出容器實例
exit
7、基於當前容器生成新image鏡像
docker commit [CONTAINER_ID] centos:lnmp
可以看到生成了一個新的鏡像,但是size很大
8、基於新創建的鏡像生成一個容器實例
docker run -u root -d -p 8888:80 -v /var/www/html:/var/www/html centos:lnmp /bin/startup.sh
9、重命名一個image鏡像的tag
docker tag IMAGEID(鏡像id) REPOSITORY:TAG(倉庫:標籤)