亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!