为了账号安全,请及时绑定邮箱和手机立即绑定

Docker入门

西北峰 学生
难度初级
时长 1小时36分
学习人数
综合评分9.50
130人评价 查看评价
9.7 内容实用
9.3 简洁易懂
9.5 逻辑清晰
  • docker run -d -p 80:80 xbf/hello-nginx  (这次成功了,返回了容器的id)

    curl http://localhost  测试一下,输出了index.html的内容

    Dockerfile语法小结

    1. FROM   用途  base image(指定基础镜像名,从哪里开始)

    2. RUN  执行命令(在容器内执行命令)

    3. ADD 添加文件(往容器里面添加文件,还可以将远程的文件添加到容器里面去)

    4. COPY 拷贝文件 (往容器里面添加文件)

    5. CMD 执行命令(给容器指定执行的入口,通常和engine point来做这个事情)

    6. EXPOSE 暴露端口

    7. WORKDIR 指定路径(指定我们运行命令的路径)

    8. MAINTAINER 维护者

    9. ENV 设定环境变量(为容器里面设置环境变量)

    10. ENTRYPOINT 指定容器入口(在没有指定engine point的时候用cmd启动,如果指定了engine point,cmd所指定的字串就变成entry point后面的一些 arguments(参数))

    11. USER 指定用户(指定执行该命令的用户,通常不会用root在容器里面执行)

    12. VOLUME  用途mount point (指定容器挂在的卷)


    查看全部
    0 采集 收起 来源:dockerfile实战

    2019-11-04

  • 第二个Dockerfile

    FROM ubuntu  //基础镜像

    MAINTAINER xbf

    RUN apt-get update              //ubuntu命令

    RUN apt-get install -y nginx         //ubuntu命令,安装nginx

    COPY index.html /var/www/html    //拷贝一个本地的文件到这个里面去

    ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"] //给出一个入口

    EXPOSE 80

    实际操作

    mkdir dockerfile2

    cd docker dockerfile2

    touch Dockerfile

    vim Dockerfile

    在文件里面编辑

    FROM ubuntu

    MAINTAINER xbf

    RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list  //使用国内镜像

    RUN apt-get update  //更新ubuntu程序的库

    RUN apt-get install -y nginx //安装nginx -y 不要提醒

    COPY index.html /var/www/html //拷贝文件到容器里面去。这丫是容器?不同版本的ubuntu这个文件夹的位置是不一样的

    ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]  //将nginx在前台执行,而不是作为守护进程执行

    EXPOSE 80  //暴露一个80端口,普通的http服务器监听的端口

    保存文件。

    touch index.html

    vim index.html  //然后随便填点东西用来显示。保存退出

    docker build -t xbf/hello-nginx .

    docker run -d -p 80:80 xbf/hello-nginx  //-d 守护进程化

    报错了,原因可能很久以前运行过了监听80端口的程序

    docker ps

    http://img1.sycdn.imooc.com//5dc018000001b27211760201.jpg

    docker stop big_shannon





    查看全部
    0 采集 收起 来源:dockerfile实战

    2019-11-04

  • docker commit 是创建了一个新的镜像(新的image),这是说image被叫做镜像?

    Docker file

    通过编写简单的文件自创docker镜像

    FROM alpine:latest   //创建基础镜像

    MAINTAINER xbf     //说明是谁创建的镜像

    CMD echo 'hello docker'  //运行一个docker命令

    mkdir d1

    cd d1

    touch Dockerfile

    vim Dockerfile

    在Dockerfile里面编辑

    FROM alpine:latest  // alpine是针对docker做的极小的Linux环境,image非常小

    MAINTAINER xbf

    CMD echo "Hello Docker"

    保存,退出文件

    使用docker命令构建新的image

    docker build -t hello_docker .    (-t 是给个tag 标签,. 是一个路径名,把这个路径底下的所有内容都送给docker engine,让它产生image)

    这就完成了,成功的通过Docker创建了自己的image。

    docker images hello_docker  查看这个image

    docker run hello_docker 运行这个docker(输出了Hello Docker)

    查看全部
    0 采集 收起 来源:dockerfile介绍

    2019-11-04

  • Doctor的架构



    Doctor命令

    doctor run ubuntu echo hello docker (使用ubuntu这个image运行echo hello docker)

    docker images  (查看本机所有的Image,这个Image该怎么解释呢)

    docker run -p 8080:80 -d daocloud.io/nginx   -p端口映射,将nginx的80端口映射到本地的host的8080端口 -d允许这个程序直接返回,就是把这个continer当作守护进程来执行。在本地8080端口开启了nginx服务

    docker ps 查看当前正在运行的container

    cat index.html (然后编辑了一个简单的html内容)

    docker  cp index.html 容器id://usr/share/nginx/html 把这个文件拷贝到容器里面去,容器id后面跟的是文件在容器内部的路径。浏览器localhost:8080 显示了index.html的内容。这就是容器里面的一个网页被我们替换了?

    docker stoop 容器id   停止容器

    再次执行上面的黑体命令,浏览器访问localhost:8080 没有显示html的内容,不是我们想要的。原因:docker在容器内做的改动都是暂时的,都是缺省没有被保存下来的,要保存下来需要做另外的操作。

    docker ps 查看容器id,这个id应该是每次重启后都会变。

    然后把index.html文件又拷贝进了容器(同上)

    docker commit -m '备注'  容器id  nginx-fun(保存,好像git提交)。提交后产生了一个新的imageid,这个image究竟该怎么翻译?nginx-fun是这个新产生的image的名字,不添加名字的话 image的repository和tag都是空的。

    docker rmi  image的id   删除image

    docker ps (显示正在运行的容器)

    docker stop 容器id 停止正在运行的容器

    docker ps -a (显示所有的容器)

    运行过的docker在系统里面还是有历史,就像刚才运行过的容器就在里面

    docker rm 容器id 容器id   这两个就被删除了

    命令小结:

    1. docker pull 获取image

    2. docker build 创建image

    3. docker images 列出image

    4. docker run 列出container

    5. docker ps 列出container

    6. docker rm 删除container

    7. docker rmi 删除Image

    8. docker cp 在host和container之间拷贝文件

    9. docker commit 保存改动为新的image



    查看全部
  • Doctor安装

    linux下:sudo wget -qO- https://get.doctor.com/ | sh (安装doctor)

                   sudo usermod -aG docker 用户名 (允许非root用户使用doctor)

    查看全部
    1 采集 收起 来源:docker linux安装

    2019-11-04

  • Doctor:可以粗糙的理解为轻量级的虚拟机,开挂的chroot。

    http://img1.sycdn.imooc.com//5dc000230001620309180601.jpg


    查看全部
    0 采集 收起 来源:Docker介绍

    2019-11-04

  • 根据现有的 image 生成一个一模一样的镜像,只是name 不一样

    docker tag docker/whalesay xibeifeng/whalesay

    将本地的镜像共享到  docker 中心

    docker push xibeifeng/whalesay


    查看全部
    0 采集 收起 来源:registry实战

    2019-10-29

  • 运行 nginx:

    docker run -d --name nginx -v /usr/share/nginx/html nginx

    • -d 是运行方式(Daemon守护进程)


    使用 inspect 检查 nginx:

    docker inspect nginx

    • inspect 是检查的意思


    查看全部
    0 采集 收起 来源:volume操作

    2019-10-28

  • Docker结构

    查看全部
  • docker file里面的内容

    FROM alpine:latest
    MAINTAINER XBF
    CMD echo "Hello Docker!"

    构建 docker的images

    docker build -t ImagesName .


    查看全部
    0 采集 收起 来源:dockerfile介绍

    2019-10-09

  • 常用的 docker 命令

    查看全部
  • 创建新的 image

    docker commit -m 'fun' 容器ID 镜像名称
    
    docker commit -m 'fun' e7c34  nginx-func


    查看全部
  • // 将文件拷贝到 docker 容器中
    docker cp index.html 容器ID://usr/share/nginx/html


    查看全部
  • Dockerfile 语法

    查看全部
    0 采集 收起 来源:dockerfile实战

    2019-10-07

  • docker命令2

    查看全部

举报

0/150
提交
取消
课程须知
有操作Linux命令行的基本技能
老师告诉你能学到什么?
1、什么是Docker 2、什么是Docker镜像,什么是容器 3、将自己的app打包成容器 4、搭建多容器的环境 5、docker在各个平台上的安装

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!