您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)docker容器源碼怎樣部署httpd用存儲(chǔ)卷部署網(wǎng)站,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
// 創(chuàng)建一個(gè)httpd容器 [root@localhost ~]# docker run -tid --name httpd centos 2d693e16f4f3734b127cbae90d189c1b4e78619a54ceec912a82d96cf4f1c345 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2d693e16f4f3 centos "/bin/bash" 5 seconds ago Up 4 seconds httpd // 連接上這個(gè)容器 [root@localhost ~]# docker exec -it 2d693e16f4f3 /bin/bash [root@2d693e16f4f3 /]# // 把源碼包放到容器中 [root@localhost ~]# docker cp /usr/src/apr-1.7.0.tar.gz 2d693e16f4f3:/usr/src/ [root@localhost ~]# docker cp /usr/src/apr-util-1.6.1.tar.gz 2d693e16f4f3:/usr/src/ [root@localhost ~]# docker cp /usr/src/httpd-2.4.49.tar.gz 2d693e16f4f3:/usr/src/ [root@2d693e16f4f3 /]# ls /usr/src/ apr-1.7.0.tar.gz debug kernels apr-util-1.6.1.tar.gz httpd-2.4.49.tar.gz // 源碼安裝httpd [root@2d693e16f4f3 /]# useradd -r -M -s /sbin/nologin apache [root@2d693e16f4f3 /]# id apache uid=998(apache) gid=996(apache) groups=996(apache) [root@2d693e16f4f3 /]# yum groups mark install 'Development Tools' -y [root@2d693e16f4f3 /]# yum -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make [root@2d693e16f4f3 /]# cd /usr/src/ [root@2d693e16f4f3 src]# tar xf apr-1.7.0.tar.gz -C /usr/local/ [root@2d693e16f4f3 src]# tar xf apr-util-1.6.1.tar.gz -C /usr/local/ [root@2d693e16f4f3 src]# tar xf httpd-2.4.49.tar.gz -C /usr/local/ [root@2d693e16f4f3 src]# cd /usr/local/apr-1.7.0/ [root@2d693e16f4f3 apr-1.7.0]# vi configure cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 # $RM "$cfgfile" //將此行加上注釋,或者刪除此行 [root@2d693e16f4f3 apr-1.7.0]# ./configure --prefix=/usr/local/apr [root@2d693e16f4f3 apr-1.7.0]# make && make install [root@2d693e16f4f3 local]# cd apr-util-1.6.1/ [root@2d693e16f4f3 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ [root@2d693e16f4f3 apr-util-1.6.1]# make && make install [root@2d693e16f4f3 apr-util-1.6.1]# cd ../httpd-2.4.49/ [root@2d693e16f4f3 httpd-2.4.49]# ./configure --prefix=/usr/local/apache \ > --enable-so \ > --enable-ssl \ > --enable-cgi \ > --enable-rewrite \ > --with-zlib \ > --with-pcre \ > --with-apr=/usr/local/apr \ > --with-apr-util=/usr/local/apr-util/ \ > --enable-modules=most \ > --enable-mpms-shared=all \ > --with-mpm=prefork [root@2d693e16f4f3 httpd-2.4.49]# make && make install [root@2d693e16f4f3 local]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh [root@2d693e16f4f3 local]# source /etc/profile.d/httpd.sh [root@2d693e16f4f3 local]# ln -s /usr/local/apache/include /usr/include/apache [root@2d693e16f4f3 local]# apachectl start [root@2d693e16f4f3 local]# ss -anlt 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@2d693e16f4f3 local]# cd / [root@2d693e16f4f3 /]# [root@2d693e16f4f3 /]# [root@2d693e16f4f3 /]# vi start.sh #! /bin/sh /usr/local/apache/bin/apachectl start /bin/bash [root@2d693e16f4f3 /]# chmod +x start.sh // 構(gòu)建鏡像 [root@localhost ~]# docker commit -p -c 'CMD ["/bin/bash","start.sh"]' 2d693e16f4f3 syblyw0806/httpd:v0.1 sha256:16913ce01fdceee9a389906cf385893120734b1a088b894cc5dce1a9ead252fd [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE syblyw0806/httpd v0.1 16913ce01fdc 6 seconds ago 713MB busybox latest d23834f29b38 6 days ago 1.24MB centos latest 5d0da3dc9764 2 months ago 231MB
需要開啟一臺(tái)新的虛擬機(jī)
[root@localhost ~]# yum -y install nfs-utils [root@localhost ~]# systemctl restart nfs-server.service [root@localhost ~]# mkdir /nfs [root@localhost ~]# chmod 777 /nfs/ [root@localhost ~]# vim /etc/exports /nfs 192.168.200.136(rw) [root@localhost ~]# systemctl restart nfs-server
在有docker服務(wù)的虛擬機(jī)上一樣安裝nfs
[root@localhost ~]# yum -y install nfs-utils [root@localhost ~]# showmount -e 192.168.200.137 Export list for 192.168.200.137: /nfs 192.168.200.136
[root@localhost ~]# mount -t nfs 192.168.200.137:/nfs /var/www/html/ [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 883M 0 883M 0% /dev tmpfs 901M 0 901M 0% /dev/shm tmpfs 901M 8.9M 892M 1% /run tmpfs 901M 0 901M 0% /sys/fs/cgroup /dev/mapper/rhel-root 47G 23G 25G 48% / /dev/nvme0n1p1 1014M 179M 836M 18% /boot tmpfs 181M 0 181M 0% /run/user/0 overlay 47G 23G 25G 48% /var/lib/docker/overlay2/0a219b8bbb04290f6b1cc1ae29f5eb1a9bc713ff12c86c86c7e13d5c7ca63a0e/merged 192.168.200.137:/nfs 47G 2.2G 45G 5% /var/www/html
[root@localhost ~]# docker run -itd --name httpd1 -p 80:80 -v /var/www/html/:/usr/local/apache/htdocs 16913ce01fdc 42e38f1db61e49fafa0682125d0425e3d41c4f2db0f48e1973dee1905a90daf3 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 42e38f1db61e 16913ce01fdc "/bin/bash start.sh" 10 seconds ago Up 9 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp httpd1
上傳我們要部署網(wǎng)站的代碼
[root@localhost ~]# cd /var/www/html/ [root@localhost html]# ls game.html images index.html js style
此時(shí)在新開的一臺(tái)虛擬機(jī)查看nfs
[root@localhost ~]# ls /nfs/ game.html images index.html js style
關(guān)于docker容器源碼怎樣部署httpd用存儲(chǔ)卷部署網(wǎng)站就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。