Docker:Hello Nginx!

起手式!

环境:

  • 操作系统:MacOS 10.14
  • Docker:v17.12.0-ce

安装

首先,在线搜索一下有啥nginx镜像(image)

1
docker search nginx

排在第一位的就是官方的nginx镜像,就用它了,把它拉下来

1
docker pull nginx

输入指令查看一下本地已有的镜像

1
docker images

当然,把镜像改一个名字最好不过了

1
2
3
4
5
6
7
8
// 先查看一下容器对应的ID
docker images

// 本机上的ID为 568c4670fa80
docker tag 568c4670fa80 myserver/nginx:latest

//把原来没用的删掉
docker rmi nginx

启动

第一次启动,需要指定其映射的端口,这里将其映射到本机的8080端口,产生了一个容器(container)

1
docker run -p 8080:80 -d myserver/nginx

查看一下当前正在运行的容器,里面有其对应的CONTAINER ID

1
docker ps

可以试着访问本地的8080端口,就会出现Nginx的欢迎界面

可以把本地的文件拷贝到容器中,这里在本地准备了一份index.html文件,而Nginx的静态文件目录在/usr/share/nginx/html/中,当前的CONTAINER ID为56d2b08e0b0e

1
docker cp ~/Desktop/index.html 56d2b08e0b0e://usr/share/nginx/html

刷新浏览器,就会看到页面已经更新了,现在把当前容器停止

1
2
//          当前容器的ID
docker stop 56d2b08e0b0e

输入第一条命令查看是否已停止当前容器,输入第二条指令查看所有曾经启动过的容器

1
2
docker ps
docker ps -a

输入以下命令再次启动

1
2
//          当前容器的ID
docker start 56d2b08e0b0e

同时,你可以登陆到运行的容器中去看一看

1
2
//              当前容器的ID
docker exec -it 56d2b08e0b0e /bin/bash

使用Linux指令探索一番吧,虽然有好多都用不了


如果你想查看当前容器的端口号,那么就输入如下命令

1
2
//          当前容器的ID
docker port b0b52d9082fd

如果你想修改容器的映射端口是十分不方便的,不过你可以将当前容器提交成为一个新的镜像,然后再启动

1
2
3
4
5
6
7
8
9
//            当前容器的ID
docker commit b0b52d9082fd myserver/nginx:latest

// 停止并删除当前容器
docker stop b0b52d9082fd
docker rm b0b52d9082fd

// 重新启动,换一个新的端口
docker run -p 8070:80 -d myserver/nginx:latest