专栏首页finleyMadocker学习系列5 nginx 容器

docker学习系列5 nginx 容器

本节通过学习 docker 的 nginx 镜像,容器的使用。以及如何映射文件。

  1. 运行容器 docker run --name my-nginx -d -p 8088:80 --rm nginx:1.15 -d:在后台运行 -p :容器的80端口映射到 宿主机的 8088 --rm:容器停止运行后,自动删除容器文件 --name:容器的名字为 my-nginx

image.png

docker run 其实等于 docker create + start 因为tag为 1.15 的 nginx 镜像并不在本地,会先下载再运行

浏览器打开 locahost:8088 就能看到默认页面了

  1. 官方推荐通过 Dockerfile 的方式制作镜像并运行容器

新建static-pages目录,结构如下: static-pages -- index.html -- Dockerfile

index.html

<h1>Hello World</h1>

Dockerfile

FROM nginx:1.15
COPY . /usr/share/nginx/html

切换到Dockerfile所在路径

制作镜像 docker build -t my-nginx .,名称为 my-nginx,完整镜像名格式是:name:tag 参见 文档

image.png

根据镜像运行一个容器 docker run --name my-nginx -d -p 8088:80 my-nginx:latest 浏览器打开 locahost:8088 就能看到 hello-world 了

  1. 学习nginx需要修改nginx配置文件,我们把容器里面的 Nginx 配置文件拷贝到本地的当前目录。 执行 docker container cp my-nginx:/etc/nginx . 不要漏掉最后那个点。执行完成后,当前目录应该多出一个nginx子目录。 修改Dockerfile
FROM nginx:1.15
COPY index.html /usr/share/nginx/html
COPY nginx /etc/

然后修改 static-pages\nginx\conf.d\default.conf

server {
    listen       80;
    server_name  ng.test;

C:\Windows\System32\drivers\etc\HOSTS 需要添加 127.0.0.10 ng.test 保持和localhost一致即可 重新制作镜像 docker build -t my-nginx:ng-test . 运行容器 docker run -d -p 80:80 my-nginx:ng-test 注意我映射的端口不再是8088,这样 本地浏览器就能访问 ng.test 了

停止容器: 先 docker ps 获取容器ID,比如是 934f93002018 然后 docker stop 934f93002018

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • docker学习系列2 保存对容器的修改

    注意: 经查,不推荐更改运行中的容器配置,容器本身是无状态的,当然也可以通过进入容器内部的方式进行更改: docker exec -it 这样的更改是无法持久...

    mafeifan
  • Docker 学习系列21 远程连接Docker

    Docker为C/S架构,服务端为docker daemon (daemon是守护进程的意思,进程名叫dockerd),客户端为docker.service。 ...

    mafeifan
  • docker学习系列3 提交并分享自己的镜像

    docker有个类似 github的平台,叫 https://hub.docker.com 可以 pull 官方或第三方提供的镜像,当然也可以发布自己的镜像供...

    mafeifan
  • 腾讯云Centos安装nginx

    使用的是腾讯云主机,选择的镜像如下: Centos7+ 64bit; nginx 1.7.12

    河岸飞流
  • 本地 Docker Registry 的安装与使用

    安装 Docker 环境之后, 可以开始下载和运行 Docker 镜像了, 比如要下载一个 nginx 服务器, 只要输入下面的命令:

    beginor
  • docker快速入门

    docker已经是一年前的时候学习的了,当时,不会go语言。工作中一直没有使用,已经忘光了。在放假前,sdk那边说线上docker的打包环境每次打包特别慢,查询...

    若与
  • 你必须知道的Docker数据卷(Volume)

    本篇已加入《.NET Core on K8S学习实践系列文章索引》,可以点击查看更多容器化技术相关系列文章。

    Edison Zhou
  • HLS点播实现(H.264和AAC码流)

    前言 使用VideoToolbox硬编码H.264 使用VideoToolbox硬解码H.264 使用AudioToolbox编码AAC 使用AudioT...

    落影
  • 最简单的Docker镜像教程:从头基于空镜像scratch创建一个新的Docker镜像

    我们在使用Dockerfile构建docker镜像时,一种方式是使用官方预先配置好的容器镜像。优点是我们不用从头开始构建,节省了很多工作量,但付出的代价是需要下...

    Jerry Wang
  • 最简单的Docker镜像教程:从头基于空镜像scratch创建一个新的Docker镜像

    我们在使用Dockerfile构建docker镜像时,一种方式是使用官方预先配置好的容器镜像。优点是我们不用从头开始构建,节省了很多工作量,但付出的代价是需要下...

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券