美文网首页Docker容器程序员
Docker容器使用(一)

Docker容器使用(一)

作者: 不器不争 | 来源:发表于2018-01-15 21:53 被阅读62次

    前提介绍

    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
    

    相关文章

      网友评论

        本文标题:Docker容器使用(一)

        本文链接:https://www.haomeiwen.com/subject/iagdoxtx.html