【docker】- 自制lnmp镜像

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(仓库:标签)

 

 

你可能感兴趣的:(docker,lnmp,docker,lnmp,容器,镜像)