ache_probes.d configure InstallBin.dsp NWGNUmakefile test
ap.d configure.in LAYOUT os VERSIONING
build docs libhttpd.dep README
BuildAll.dsp emacs-style libhttpd.dsp README.CHANGES
BuildBin.dsp httpd.dep libhttpd.mak README.cmake
buildconf httpd.dsp LICENSE README.platforms
[root@3e493c00a7f0 httpd-2.4.54]# ./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
....
Server Version: 2.4.54
Install prefix: /usr/local/apache
C compiler: gcc
CFLAGS: -g -O2 -pthread
CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE
LDFLAGS:
LIBS:
C preprocessor: gcc -E
[root@3e493c00a7f0 httpd-2.4.54]# make
[root@3e493c00a7f0 httpd-2.4.54]# make install
添加脚本并启动
[root@3e493c00a7f0 apache]# cd / //进入根目录
[root@3e493c00a7f0 /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
[root@3e493c00a7f0 /]# vim lnh.sh //创建一个脚本启动
[root@3e493c00a7f0 /]# cat lnh.sh
#!/bin/bash
/usr/local/apache/bin/httpd && sleep 5d
[root@3e493c00a7f0 /]# chmod +x lnh.sh //给脚本赋予执行权限
[root@3e493c00a7f0 /]# ls
bin etc lib lnh.sh media opt root sbin sys usr
dev home lib64 lost+found mnt proc run srv tmp var
[root@3e493c00a7f0 /]# ./lnh.sh
//启动脚本
再开一个终端查看:
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3e493c00a7f0 centos "/bin/bash" 33 hours ago Up 33 hours b1
[root@localhost ~]# docker exec -it 3e493c00a7f0 /bin/bash
[root@3e493c00a7f0 /]# 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@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3e493c00a7f0 centos "/bin/bash" About an hour ago Up About an hour b1
[root@localhost ~]# curl 172.17.0.2
<html><body><h1>It works!</h1></body></html>
制作镜像并上传
[root@localhost ~]# docker commit -a 'lnh <136@.com>' -c 'CMD ["/lnh.sh"]' -p b1 lvnanhai66/httpd:1.0
sha256:d86219e121664c10560a43d1405124bfaf2b0858975211f5f77073fca7454f43
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
lvnanhai66/httpd 1.0 d86219e12166 5 seconds ago 768MB
centos latest 5d0da3dc9764 10 months ago 231MB
[root@localhost ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: lvnanhai66
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@localhost ~]# docker push lvnanhai66/httpd:1.0
The push refers to repository [docker.io/lvnanhai66/httpd]
0fabae23f82c: Pushed
74ddd0ec08fa: Mounted from library/centos
1.0: digest: sha256:f1f72415ed86142b951f34c6de6d68e5768c294d77f6f8b4b43e45846ed25149 size: 742
查看上传情况:
测试自己制作的镜像
拉取自己制作的镜像来创建容器
[root@localhost ~]# docker stop b1
b1
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
//停止之前创建的容器
[root@localhost ~]