继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Docker容器使用(一)

慕哥9229398
关注TA
已关注
手记 1099
粉丝 198
获赞 911

前提介绍

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 nginx7d2e9bee679e60967dc5d7e25fded0fa5b6305fbb9c5d7773651e557305a816d

这条命令会基于 nginx 镜像,启动并运行一个容器
--name [容器名称]    给这个容器命名
-d  后台运行
-p 指定从外部到容器的内部的端口映射
[外部端口 : 容器内部端口](8080:80)(注:因为我的腾讯云服务器,8080端口没有被使用,所以作为外部映射的端口,而80端口,是容器里的 nginx 服务器默认的访问端口
nginx 指定基于的镜像
该命令最后返回值是:容器的ID

3、查看当前运行的容器

[sun@docker ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                           NAMES7d2e9bee679e        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                                     NAMES7d2e9bee679e        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 服务器


webp

image.png


注:显示的是 nginx 默认欢迎页面


5、修改欢迎页面

[sun@docker ~]$ docker exec -it webserver bash
root@7d2e9bee679e:/# echo '<h1>Hello World</h1>' > /usr/share/nginx/html/index.htmlroot@7d2e9bee679e:/# exitexit

docker exec 进入容器
-it 开启一个交互模式的终端
webserver 容器名称
bash 交互式 Shell 程序
命令效果:用 <h1>Hello World</h1> 覆盖了 /usr/share/nginx/html/index.html 的内容

刷新页面后,显示内容为:


webp

image.png

6、启用/停用容器

//  停用[sun@docker ~]$ docker stop webserver
webserver//  启用[sun@docker ~]$ docker start webserver
webserver



作者:不器不争
链接:https://www.jianshu.com/p/d581b7ee8528


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP