docker学习记录centos7-httpd

安装

curl -sSL https://get.docker.com/ |sh

导入镜像

如果镜像是save导出的:docker load < image.tar

如果镜像是export导出的:cat centos7.tar | docker import – centos7

启动镜像centos

docker run --privileged -d -p 10080:80 centos7:latest /sbin/init

原因:centos7会出现在错误Failed to get D-Bus connection: Operation not permitted错误

所以不可以和普通情况下docker run -itd --name=apache -p 80:80 apache:latest 这样启动

docker ps查看启动情况

使用命令:docker exec -it 容器id bash 进去容器

安装httpd yum install httpd

安装service yum install initscripts

编辑httpd的配置文件/etc/httpd/conf/httpd.conf

Listen 0.0.0.0:80

ServerName localhost

保存完成后可以使用service httpd start启动

访问本机ip:10080端口,应该可以访问到容器中的httpd的80端口

把本机的静态页面文件放入容器中,使用docker cp命令

先使用docker ps拿到容器的短ID或者指定的name。

再根据短id 或者 name获取id

docker inspect –f ‘{{.Id}}’ bf61b1b8fc1b

docker cp 本地文件路径 ID全称:容器路径

docker cp /var/www/html/index.html bf61b1b8fc1b1e24dd8e1310f22fe901373b0f216288616bad7c03d5a9263e94:/var/www/html

把该容器提交成一个新版本,父镜像centos7基础上加上了httpd

docker commit ID httpd:v1

docker save -o httpd.tar httpd:v1

(1).export导出的镜像文件大小  小于 save保存的镜像(一般使用save)

(2).export 导出(import导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史,所以无法进行回滚操作(docker tag);而save保存(load加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)。(查看命令docker history imageid)

你可能感兴趣的:(docker学习记录centos7-httpd)