2.1 基于Docker搭建HTTP服务器

安装Nginx

基于Docker来运行一台HTTP服务器,我们选择Nginx来搭建该服务,因为Nginx时高性能的Web服务器,同时也是做反向代理服务器的上佳选择。

1、创建容器

[root@localhost ~]# docker container run -d -p 80:80 --rm --name mynginx nginx
上面的参数-d表示容器在后台运行(不产生输出到Shell)并显示容器的ID;-p时用来映射容器的端口到宿主机的端口;--rm表示容器停止后
自动删除容器,例如通过docker container stop mynginx以后,容器就没有了;-name后面的mynginx就是自定义容器的名字。在创建
容器的过程中,需要用到nginx的镜像文件,镜像文件的下载时自动完成的,如果没有指定的版本号,默认时最新版本。

2、如果要将自己的Web项目部署到Nginx上,可以使用容器拷贝命令将指定路径下所有的文件和文件夹拷贝到容器的指定目录中。

[root@localhost html]# docker container cp /var/www/html/index.php mynginx:/usr/share/nginx/html

3、如果不愿意拷贝文件也可以在创建容器时通过数据卷操作–volume将指定的文件夹映射到容器的某个目录中,例如将Web项目的文件夹直接映射到/usr/share/nginx/html目录。

[root@localhost html]# docker container run -d -p 80:80 --rm --name mynginx --volume 
[root@localhost html]# $PWD/html:/usr/share/nginx/html nginx
上面创建容器和拷贝文件的命令中,container是可以省略的,也就是说docker container run和docker run是一样的,而docker container cp和docker cp是一样的。此外,命令中的--volume也可以缩写位-v,就如果-d是--detach的缩写,-p是--publish的缩写。$PWD代表宿主系统当前文件夹。

4、查看在运行中的容器,可以使用以下命令

[root@localhost html]# docker ps

5、要让容器停止运行,可以使用以下命令

[root@localhost html]# docker stop mynginx

6、由于在创建容器时使用了–rm选项,容器在停止时会被移除,使用下面命令查看所有容器时发现已经看不到刚才的mynginx容器了

[root@localhost html]# docker container ls -a

7、如果创建容器时没有指定–rm选项,那么也可以使用下面命令来删除容器。

[root@localhost html]# docker rm mynginx

你可能感兴趣的:(Docker的应用,Docker,HTTP服务)