下载Centos镜像作为基础模板
docker pull centos
生成临时容器,镜像安装
docker run -i -t centos /bin/bash
安装apache+php
由于docker启动时需要指定脚本运行,脚本执行完成后容器会退出,而且容器中不支持使用systemctl命令来让httpd服务自动启动,所以需要编写特殊的启动脚本。
#!/bin/bash
apachectl -k start #启动apache
while [ 1 ] #死循环让脚本一直执行
do
sleep 1000
done
登陆腾讯云的镜像仓库
docker login -u ** -p ** url
给镜像打tag
docker tag id ccr.ccs.tencentyun.com/*\*/**:id
把镜像上传到仓库
docker push ccr.ccs.tencentyun.com/*\*/**:id
指定ip和端口运行容器
docker run -d –privileged=true -p 192.168.100.50:8082:80 -v /root/docker/by:/var/www/html php_apache /start.sh
-d 后台运行
–privileged=true 使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
-p 192.168.100.50:8082:80 指定端口
-v /root/docker/by:/var/www/html 映射主机目录
/start.sh 启动脚本
容器关闭后重新运行
docker ps -a 查看所有容器(包括已经关闭的)
docker start id 启动指定的容器
docker exec id /start.sh 运行容器中的启动脚本
批量删除容器
docker rm $(docker ps -qa)
docker ps -qa | xargs -n 1 docker rm