- 创建apache镜像
- 配置nfs
- 映射储存卷创建容器
- 上传网页文件
- 访问测试
//以centos为基础创建一个容器 [root@localhost ~]# docker run --name apache -it centos [root@a050f73806a8 /]# //将apache安装的包和镜像传过去 [root@localhost ~]# docker cp apache apache:/root/ [root@a050f73806a8 /]# cd root/ [root@a050f73806a8 ~]# ls anaconda-ks.cfg anaconda-post.log apache original-ks.cfg //包里面是脚本与压缩包,给脚本加权限然后运行 [root@a050f73806a8 apache]# chmod +x install.sh [root@a050f73806a8 apache]# ls install.sh package [root@a050f73806a8 apache]# ./install.sh //写启动脚本 [root@2d2691ad7fbe ~]# mkdir /scripts/ [root@2d2691ad7fbe ~]# cd /scripts/ [root@2d2691ad7fbe scripts]# vi start.sh [root@2d2691ad7fbe scripts]# chmod +x start.sh [root@2d2691ad7fbe scripts]# cat start.sh #!/bin/bash /usr/local/apache/bin/apachectl start /bin/bash //生成镜像 [root@localhost ~]# docker commit -c 'CMD ["/scripts/start.sh"]' -p apache httpd:v1.0 sha256:3471d3329f64cd8f3bd6f2f36579bbfb73562e08f459637638f2b7282572c590 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE httpd v1.0 3471d3329f64 about a minute ago 721MB centos latest 5d0da3dc9764 2 months ago 231MB //试运行 [root@localhost ~]# docker run -it --name test -p 81:80 httpd:v1.0 [root@e3ce58fdffa0 /]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:80 0.0.0.0:*
访问
另开一台主机,需要关闭防火墙,selinux
//安装nfs并配置开机自启 [root@localhost ~]# yum -y install nfs-utils [root@localhost ~]# systemctl enable --now nfs-server.service Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service. //创建共享目录 [root@localhost ~]# mkdir /nfs [root@localhost ~]# chmod 777 /nfs/ [root@localhost ~]# vim /etc/exports [root@localhost ~]# cat /etc/exports /nfs 192.168.216.215(rw) //docker主机 [root@localhost ~]# systemctl restart nfs-server.service
在docker主机上配置nfs
[root@localhost ~]# yum -y install nfs-utils [root@localhost ~]# systemctl enable --now nfs-server.service [root@localhost ~]# showmount -e 192.168.216.200 //nfs主机ip Export list for 192.168.216.200: /nfs 192.168.216.215 [root@localhost ~]# mkdir -p /var/www/html/ [root@localhost ~]# mount -t nfs 192.168.216.200:/nfs /var/www/html/ [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 877M 0 877M 0% /dev tmpfs 896M 0 896M 0% /dev/shm tmpfs 896M 8.8M 887M 1% /run tmpfs 896M 0 896M 0% /sys/fs/cgroup /dev/mapper/cl-root 17G 3.5G 14G 21% / /dev/sda1 1014M 194M 821M 20% /boot tmpfs 180M 0 180M 0% /run/user/0 overlay 17G 3.5G 14G 21% /var/lib/docker/overlay2/dcc1780876a2e04c685879d3c6ad40c2a6945f1fa399b652e02640b9de6a6c35/merged 192.168.216.200:/nfs 37G 1.8G 36G 5% /var/www/html //永久挂载 [root@localhost ~]# vim /etc/fstab [root@localhost ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Mon Nov 22 08:51:14 2021 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/cl-root / xfs defaults 0 0 UUID=1f3dc156-63a0-402f-a932-1df189d2ab88 /boot xfs defaults 0 0 /dev/mapper/cl-swap none swap defaults 0 0 192.168.216.200:/nfs /var/www/html nfs defaults,_netdev 0 0 [root@localhost ~]# mount -a //测试nfs可用性 [root@localhost ~]# cd /var/www/html/ [root@localhost html]# touch abc [root@localhost ~]# cd /nfs/ [root@localhost nfs]# ls abc映射储存卷创建容器
[root@localhost ~]# docker run --name httpd -dit -p 82:80 -v /var/www/html:/usr/local/apache/htdocs httpd:v1.0 1403a1465c933ec038217d53e0c26e6200fdb043122e005a539522cdc9237e10 [root@localhost ~]# docker ps -a ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1403a1465c93 httpd:v1.0 "/scripts/start.sh" 19 seconds ago Up 18 seconds 0.0.0.0:82->80/tcp, :::82->80/tcp httpd [root@localhost ~]# docker exec -it httpd /bin/bash [root@1403a1465c93 /]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:80 0.0.0.0:* [root@1403a1465c93 /]# cd /usr/local/apache/htdocs/ [root@1403a1465c93 htdocs]# ls abc //删除同步的测试文件 [root@1403a1465c93 htdocs]# rm -f abc [root@1403a1465c93 htdocs]# ls [root@1403a1465c93 htdocs]#上传网页文件
[root@localhost html]# ls 百度图片-发现多彩世界.html [root@1403a1465c93 htdocs]# ls 百度图片-发现多彩世界.html访问测试



