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

Docker入门

西北峰 学生
难度初级
时长 1小时36分
学习人数
综合评分9.50
130人评价 查看评价
9.7 内容实用
9.3 简洁易懂
9.5 逻辑清晰
  • #mkdir d2

    #cd d2

    #touch Dockerfile

    FROM ubuntu

    MAINTAINER smilevt

    RUN sed -i 's/archive.ubuntu.com/mirros.ustc.edu.cn/g' /etc/apt/sources.lise

    RUN apt-get update

    RUN apt-get install -y nginx

    COPY index.html /var/www/html

    ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off"]

    EXPOSE 80


    #touch index.html


    #docker build -t smilevt/hello-nginx .

    #docker run -d -p 80:80 smilevt/hello-nginx

    #curl http://localhost


    Dockerfile语法

    FORM    基于镜像

    RUN    执行命令

    ADD    添加文件,可以是远程文件

    COPY    拷贝文件

    CMD    执行命令

    EXPOSE    暴露端口

    WORKDIR    指定路径

    MAINTAINER    维护者

    ENV    设定环境变量

    ENTRYPOINT    容器入口,如果和CMD同时存在,则CMD会成为参数

    USER    指定用户,一般容器不会让root用户直接执行

    VOLUME    mount point 指定容器挂在的卷

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

    2018-06-27

  • Dockerfile创建镜像

    #mkdir d1

    #cd d1

    #touch Dockerfile

    FROM alpine:latest

    MAINTAINER smilevt

    CMD echo "Hello Docker!"

    #docker build -t hello_docker .


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

    2018-06-27

  • #docker ps 查看docker进程

    #docker run -p 8080:80 -d nginx  启动nginx服务

    #docker stop 容器ID 停止服务

    #docker cp index.html 177sdafdikdffdd://usr/share/nginx/html

    #docker commit -m 'fun' 容器ID nginx-fun  保存改动生成一个新的镜像

    #docker images  查看已有镜像

    #docker rmi 镜像id  根据镜像ID删除镜像

    #docker ps -a  查看所有运行过的镜像

    #docker rm 镜像ID  删除镜像

    #docker pull  获取镜像

    #docker build  创建镜像


    查看全部
  • Linux 安装

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

    2018-06-25

  • 安装docker命令 :

    $ sudo wget -qO- https://get.docker.com/ | sh

    默认情况下不能使用非root用户直接运行Docker命令,将当前用户(your_user)加入docker用户组:

    $ sudo usermod -aG docker your_user



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

    2018-06-23

  • docker不是虚拟机

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

    2018-06-23

  • 什么是docker

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

    2018-06-23

  • 国内仓库

    daocloud  时速云  aliyun

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

    2018-06-22

  • dockerfile:通过编写简单的文件自创Docker镜像

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

    2018-06-19

  • 多APP撘建使用
    查看全部
    0 采集 收起 来源:compose实战

    2018-06-18

  • yi1

    dockerfile的语法:

    https://img1.sycdn.imooc.com//5b1e32b40001345f07060307.jpg

    https://img1.sycdn.imooc.com//5b1e330000015fb007090308.jpg

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

    2018-06-11

  • https://docs.docker.com/compose/install/#install-compose

    查看全部
  • yi1

    命令小结为:https://img1.sycdn.imooc.com//5b1dd2bc0001a5d607880269.jpg


    https://img1.sycdn.imooc.com//5b1dd2fc000157aa08980219.jpg

    查看全部
  • # Docker 简介


    预备知识:

    Linux命令行

    bash

    云计算(最好)

    粗糙地理解为轻量级的虚拟机

    开挂的 chroot (chroot 对应用程序做了文件系统的分离,和 Docker 有相似支持)

    确实不是虚拟机

    Mac安装:下载-安装-配置

    ```bash

    docker info

    # Linux 下载安装

    # wget 下载  -q0 输出不要那么多  

    sudo wget -q0- https://get.docker.com | sh

    sudo usermod -aG docker imooc


    # 运行

    docker run ubuntu echo hello docker

    docker run -p 8080:80 -d daocloud.io/nginx


    # 获取 image

    docker pull  


    # 创建 image

    docker build


    # 运行 container

    docker run nginx


    # 查看镜像 列出本地已有的 image

    docker images


    # 列出 container ,查找容器的 id ,查看正在运行的程序

    docker ps

    docker ps -a


    # 删除 container

    docker rm 


    # 删除 image

    docker rmi


    # 在 host 和 container 之间拷贝文件

    docker cp


    # 保存改动为新的 image

    docker commit 

    ```




    > 通过 Dockerfile 创建 docker 镜像



    ```bash

    # 创建的新镜像,有一个基础镜像

    FROM alpine:latest

    # 共享的时候告诉其他人这是我写的

    MAINTAINER xbf

    # 运行容器产生的效果

    CMD echo 'hello docker'




    # 使用 Dockerfile 创建 image

    docker build -t hello_docker .

    docker images hello_docker

    docker run hello_docker


    ```


    创建 docker 


    ```bash

      docker_demo docker build -t hello_docker .

    Sending build context to Docker daemon  2.048kB

    Step 1/3 : FROM alpine:latest

    latest: Pulling from library/alpine

    ff3a5c916c92: Pull complete 

    Digest: sha256:e1871801d30885a610511c867de0d6baca7ed4e6a2573d506bbec7fd3b03873f

    Status: Downloaded newer image for alpine:latest

     ---> 3fd9065eaf02

    Step 2/3 : MAINTAINER xbf

     ---> Running in acc2605f5a54

    Removing intermediate container acc2605f5a54

     ---> 6f1e21aef2f8

    Step 3/3 : CMD echo 'hello docker'

     ---> Running in 2f3cfde96400

    Removing intermediate container 2f3cfde96400

     ---> 981b1f27eac9

    Successfully built 981b1f27eac9

    Successfully tagged hello_docker:latest

    ```


    查看创建的 docker 镜像


    ```bash

     docker_demo docker images hello_docker

    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

    hello_docker        latest              981b1f27eac9        38 seconds ago      4.15MB

    ```


    运行 docker


    ```bash

    docker_demo docker run hello_docker

    hello docker

    ```


    第二个 Dockerfile 


    ```bash

    FROM ubuntu

    MAINTAINER xbf

    RUN apt-get update

    RUN apt-get install -y nginx

    COPY index.html /var/www/html

    ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]

    EXPOSE 80

    ```


    Dockerfile 语法

    ```bash

    # 指定 base image

    FROM 


    # 执行命令

    RUN


    # 添加文件

    ADD


    # 拷贝文件

    COPY


    # 执行命令

    CMD


    # 暴露端口

    EXPOSE


    # 指定路径

    WORKDIR 


    # 维护者

    MAINTAINER


    # 设定环境变量

    ENV


    # 容器入口

    ENTRYPOINT


    # 指定用户

    USER


    # mount point

    VOLUME

    ```


    > 镜像分层


    Dockerfile 中的每一行都产生一个新层。

    每一层都有一个特定的独立的 id



    > Volume 

    提供独立于容器之外的持久化存储。


    ```bash

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

    ```




    # Registry


    镜像仓库。


    术语:

    ```

    host  宿主机

    image 镜像

    container 容器

    registry  仓库

    daemon  守护进程

    client  客户端

    ```


    ```

    # 从远程仓库

    # 搜索镜像

    docker search whalesay

    # 拉取镜像

    docker pull whalesay

    # 推送镜像

    docker push myname/whalesay

    ```


    官方 dockerhub 仓库。


    国内:

    daocloud 、时速云、aliyun



    ```

    # 拉取镜像

    docker pull docker/whalesay 


    # 运行 docker/whalesay

    docker run docker/whalesay cowsay Docker很Cool!


    docker tag docker/whalesay mengcoder/whalesay

    docker images # 查看   名字不同 id 相同的两个镜像


      docker_demo2 docker images

    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE

    mengcoder/whalesay   latest              6b362a9f73eb        3 years ago         247MB

    docker/whalesay      latest              6b362a9f73eb        3 years ago         247MB



    # 登录远程仓库

    docker login


    # 推送镜像到远程仓库

    docker push mengcoder/whalesay

    ```



    > 多容器 app 


    Mac 上 docker 已经带了 docker-compose  。


    user ->  nginx ->  ghost app ->  mysql



    docker-compose.yaml   : 配置文件。

    常用命令:


    ```

    build  本地创建镜像

    command  覆盖缺省命令

    depends_on  连接容器

    ports   暴露端口

    volumes  卷

    image  pull镜像

    ```


    docker-compose 命令

    ```

    up 启动服务

    stop  停止服务

    rm  删除服务中的各个容器

    logs  观察各个容器的日志

    ps  列出服务相关的容器

    ```




    # 镜像与容器


    # 多容器 app


    # 容器存储



    Docker 介绍

    如何制作镜像

    如何分享镜像

    如何持久化容器数据(卷挂在)

    如何编排一个多容器的应用(yaml文件)


    查看全部
    2 采集 收起 来源:课程总结

    2018-06-10

  • curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s )-$(uname -m) > /usr/local/bin/docker-compose

    直接将对应平台的程序下载到本地输出成为文件

    查看全部

举报

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

微信扫码,参与3人拼团

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

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