前提介绍
OS:腾讯云,CentOS7
登陆权限:普通用户
Docker版本:17.12.0-ce
最后实现:访问容器里 nginx服务器 的自定义页面
1、检查是否存在 nginx 镜像
[sun@docker ~]$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 00fd29ccc6f1 4 weeks ago 111MB
laradock_redis latest 19a977a11685 3 months ago 107MB
<none> <none> a03f07cc3324 3 months ago 15.5MB
laradock_workspace latest 318c7dc4d367 3 months ago 696MB
redis latest b6dddb991dfa 3 months ago 107MB
mysql 8.0 6cfa8ff69d16 3 months ago 343MB
laradock/workspace 1.8-71 b88aa2c85533 8 months ago 691MB
laradock/php-fpm 1.4-71 a8cca8d57319 8 months ago 400MB
docker-whale latest 5bce90a6d2b4 9 months ago 257MB
nginx latest 5766334bdaa0 9 months ago 182MB
注:最后一个就是 nginx 镜像
如果不会下载镜像,可参考 Docker常用命令(一)
2、启动并运行容器
[sun@docker ~]$ docker run --name=webserver -d -p 8080:80 nginx
7d2e9bee679e60967dc5d7e25fded0fa5b6305fbb9c5d7773651e557305a816d
这条命令会基于 nginx 镜像,启动并运行一个容器
--name [容器名称] 给这个容器命名
-d 后台运行
-p 指定从外部到容器的内部的端口映射
[外部端口 : 容器内部端口](8080:80)(注:因为我的腾讯云服务器,8080端口没有被使用,所以作为外部映射的端口,而80端口,是容器里的 nginx 服务器默认的访问端口)
nginx 指定基于的镜像
该命令最后返回值是:容器的ID
3、查看当前运行的容器
[sun@docker ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7d2e9bee679e nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 443/tcp, 0.0.0.0:8080->80/tcp webserver
// 查看所有容器
[sun@docker ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7d2e9bee679e nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 443/tcp, 0.0.0.0:8080->80/tcp webserver
e806ecf3c1db hello-world "/hello" 6 days ago Exited (0) 6 days ago romantic_haibt
// 查看最新创建的容器
[sun@docker ~]$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7d2e9bee679e nginx "nginx -g 'daemon of…" About an hour ago Up About an hour 443/tcp, 0.0.0.0:8080->80/tcp webserver
4、访问容器里 nginx 服务器
image.png注:显示的是 nginx 默认欢迎页面
5、修改欢迎页面
[sun@docker ~]$ docker exec -it webserver bash
root@7d2e9bee679e:/# echo '<h1>Hello World</h1>' > /usr/share/nginx/html/index.html
root@7d2e9bee679e:/# exit
exit
docker exec 进入容器
-it 开启一个交互模式的终端
webserver 容器名称
bash 交互式 Shell 程序
命令效果:用 <h1>Hello World</h1> 覆盖了 /usr/share/nginx/html/index.html 的内容
刷新页面后,显示内容为:
image.png
6、启用/停用容器
// 停用
[sun@docker ~]$ docker stop webserver
webserver
// 启用
[sun@docker ~]$ docker start webserver
webserver
网友评论