[Docker系列·2] 搭建基于Docker的Nginx服务器

简介: ####docker命令别名 **~/.bashrc** ``` # .bashrc alias d="sudo docker” ``` ####docker的nginx工作目录 /home/erichan/d/nginx ####docker的Dockerfile # Version: 0.0.1 FROM feuyeux/ssd MAINTAINE

docker命令别名

~/.bashrc

# .bashrc

alias d="sudo docker”

docker的nginx工作目录

/home/erichan/d/nginx

docker的Dockerfile

# Version: 0.0.1
FROM feuyeux/ssd
MAINTAINER Eric Han "feuyeux@gmail.com"
RUN apt-get update
RUN apt-get -yq install nginx
RUN mkdir -p /var/www/html
ADD nginx/global.conf /etc/nginx/conf.d/
ADD nginx/nginx.conf /etc/nginx/nginx.conf
EXPOSE 80

nginx配置文件

nginx/global.conf

[erichan@localhost nginx]$ cat nginx/global.conf

server {
        listen          0.0.0.0:80;
    server_name     _;
    root            /var/www/html/website;
    index           index.html index.htm;
    access_log /var/log/nginx/default_access.log;
    error_log /var/log/nginx/default_error.log;
}

nginx/nginx.conf

[erichan@localhost nginx]$ cat nginx/nginx.conf

user www-data;
worker_processes 4;
pid /run/nginx.pid;
daemon off;
events { }
http {
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  types_hash_max_size 2048;
  include /etc/nginx/mime.types;
  default_type application/octet-stream;
  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;
  gzip on;
  gzip_disable "msie6";
  include /etc/nginx/conf.d/*.conf;
}

测试页面

[erichan@localhost nginx]$ cat website/index.html
    <head>
      <title>Test website</title>
    </head>
    <body>
      <h1>This is a test website</h1>
      <p>learning The docker book.</p>
    </body>

启动nginx服务器

d run -d -p 80 --name website -v /home/erichan/d/nginx/website:/var/www/html/website feuyeux/nginx:1.0 nginx

查看nginx进程

d ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                           NAMES
b92b30ce55b6        feuyeux/nginx:1.0   nginx               4 minutes ago       Up 4 minutes        22/tcp, 0.0.0.0:49153->80/tcp   website    

测试Nginx

[erichan@localhost nginx]$ curl http://localhost:49153
<head>
<title>Test website</title>
</head>
<body>
<h1>This is a test website</h1>    
</body>

修改本地文件

[erichan@localhost nginx]$ nano /home/erichan/d/nginx/website/index.html 
[erichan@localhost nginx]$ cat /home/erichan/d/nginx/website/index.html 
<head>
  <title>Test website</title>
</head>
<body>
  <h1>This is a test website</h1>
  <p>I'm learning The docker book.</p>
</body>

测试Docker·Nginx

[erichan@localhost nginx]$ curl http://localhost:49153
<head>
  <title>Test website</title>
</head>
<body>
  <h1>This is a test website</h1>
  <p>I'm learning The docker book.</p>
</body>

停止进程并删除容器

d kill $(d ps -q) && d rm $(d ps -a -q)

本文是《The Docker Book》的阅读笔记

六翁

目录
相关文章
|
16天前
|
存储 Linux Docker
docker在欧拉服务器上编译安装应该注意什么?如何操作?
【10月更文挑战第31天】docker在欧拉服务器上编译安装应该注意什么?如何操作?
42 2
|
24天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
25 4
|
25天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
33 3
|
28天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
236 3
|
29天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
100 1
|
1月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
32 2
|
1月前
|
前端开发 开发工具 git
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
34 5
|
1月前
|
前端开发 应用服务中间件 nginx
docker运行nginx镜像
这篇文章详细说明了如何在Docker中部署并运行Nginx服务,包括拉取镜像、配置文件的挂载以及容器的启动配置。
256 0
docker运行nginx镜像
|
1月前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
154 0
|
1月前
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
26 0
下一篇
无影云桌面