日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker 入门

發(fā)布時(shí)間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker 入门 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • Docker Hello World

Docker 允許你在容器內(nèi)運(yùn)行應(yīng)用程序, 使用?docker run?命令來在容器內(nèi)運(yùn)行一個(gè)應(yīng)用程序。

輸出Hello world

root@Ubuntu14:/# docker run ubuntu:15.10 /bin/echo "hello world"
Unable to find image 'ubuntu:15.10' locally 15.10: Pulling from library/ubuntu 7dcf5a444392: Pull complete 759aa75f3cee: Pull complete 3fa871dc8a2b: Pull complete 224c42ae46e7: Pull complete Digest: sha256:02521a2d079595241c6793b2044f02eecf294034f31d6e235ac4b2b54ffc41f3 Status: Downloaded newer image for ubuntu:15.10 hello world

各個(gè)參數(shù)解析:

  • docker:?Docker 的二進(jìn)制執(zhí)行文件。

  • run:與前面的 docker 組合來運(yùn)行一個(gè)容器。

  • ubuntu:15.10指定要運(yùn)行的鏡像,Docker首先從本地主機(jī)上查找鏡像是否存在,如果不存在,Docker 就會從鏡像倉庫?Docker Hub?下載公共鏡像。

  • /bin/echo "Hello world":?在啟動的容器里執(zhí)行的命令

以上命令完整的意思可以解釋為:Docker 以 ubuntu15.10 鏡像創(chuàng)建一個(gè)新容器,然后在容器里執(zhí)行 bin/echo "Hello world",然后輸出結(jié)果。

?

?

  • 運(yùn)行交互式容器

我們通過docker的兩個(gè)參數(shù) -i -t,讓docker運(yùn)行的容器實(shí)現(xiàn)"對話"的能力

root@Ubuntu14:/# docker run -i -t ubuntu:15.10 /bin/bash root@f33f0dff0906:/# cat /proc/version Linux version 4.4.0-93-generic (buildd@lcy01-28) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #116~14.04.1-Ubuntu SMP Mon Aug 14 16:07:05 UTC 2017 root@f33f0dff0906:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@f33f0dff0906:/#

各個(gè)參數(shù)解析:

  • -t:在新容器內(nèi)指定一個(gè)偽終端或終端。

  • -i:允許你對容器內(nèi)的標(biāo)準(zhǔn)輸入 (STDIN) 進(jìn)行交互。

此時(shí)我們已進(jìn)入一個(gè) ubuntu15.10系統(tǒng)的容器

我們嘗試在容器中運(yùn)行命令?cat /proc/versionls分別查看當(dāng)前系統(tǒng)的版本信息和當(dāng)前目錄下的文件列表

我們可以通過運(yùn)行exit命令或者使用CTRL+D來退出容器。

?

?

  • 啟動容器(后臺模式)

使用以下命令創(chuàng)建一個(gè)以進(jìn)程方式運(yùn)行的容器

root@Ubuntu14:/# docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done" 268b8d077ec86d8ae8f9c01f0135b03291c6b09cf28d9285032ea48bac4979a1 root@Ubuntu14:/# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 268b8d077ec8 ubuntu:15.10 "/bin/sh -c 'while t…" 6 seconds ago Up 5 seconds reverent_neumann root@Ubuntu14:/# docker logs 268b8d077ec8^C root@Ubuntu14:/# docker logs reverent_neumann^C root@Ubuntu14:/# docker stop 268b8d077ec8^C root@Ubuntu14:/# docker stop reverent_neumann^C root@Ubuntu14:/# docker ps^C root@Ubuntu14:/#

docker ps  查看運(yùn)行中的容器

docker log  查看容器內(nèi)命令的執(zhí)行結(jié)果

docer stop  停止容器

?

?

  • docker容器使用
root@Ubuntu14:/# docker pull training/webapp Using default tag: latest latest: Pulling from training/webapp e190868d63f8: Pull complete 909cd34c6fd7: Pull complete 0b9bfabab7c1: Pull complete a3ed95caeb02: Pull complete 10bbbc0fc0ff: Pull complete fca59b508e9f: Pull complete e7ae2541b15b: Pull complete 9dd97ef58ce9: Pull complete a4c1b0cb7af7: Pull complete Digest: sha256:06e9c1983bd6d5db5fba376ccd63bfa529e8d02f23d5079b8f74a616308fb11d Status: Downloaded newer image for training/webapp:latest root@Ubuntu14:/# docker run -d -P training/webapp python app.py 074a8dca8629c1ee03487c5154b0303f26635a7cd5f7bfef79157781804ac629 root@Ubuntu14:/# root@Ubuntu14:/# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 074a8dca8629 training/webapp "python app.py" 13 seconds ago Up 12 seconds 0.0.0.0:32768->5000/tcp elastic_pasteur 268b8d077ec8 ubuntu:15.10 "/bin/sh -c 'while t…" 18 minutes ago Up 18 minutes reverent_neumann root@Ubuntu14:/#

docker command --help  查看某條命令command的具體使用方法

docker pull  載入鏡像

docker run 參數(shù)說明:

  • -d:讓容器在后臺運(yùn)行。

  • -P:將容器內(nèi)部使用的網(wǎng)絡(luò)端口映射到我們使用的主機(jī)上。

Docker 開放了 5000 端口(默認(rèn) Python Flask 端口)映射到主機(jī)端口 32768 上。

?

root@Ubuntu14:/# docker run -d -p 5000:5000 training/webapp python app.py 1ac3973807d566d01ff71a77779d7cfb3682b1791a4fb666072cfa91b010ddbd root@Ubuntu14:/# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1ac3973807d5 training/webapp "python app.py" 7 seconds ago Up 6 seconds 0.0.0.0:5000->5000/tcp heuristic_goldberg 074a8dca8629 training/webapp "python app.py" 8 minutes ago Up 8 minutes 0.0.0.0:32768->5000/tcp elastic_pasteur 268b8d077ec8 ubuntu:15.10 "/bin/sh -c 'while t…" 27 minutes ago Up 27 minutes reverent_neumann root@Ubuntu14:/#

也可以通過?-p?參數(shù)來設(shè)置不一樣的端口,容器內(nèi)部的 5000 端口映射到我們本地主機(jī)的 5000 端口上。

?

root@Ubuntu14:/# docker start heuristic_goldberg heuristic_goldberg root@Ubuntu14:/# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1ac3973807d5 training/webapp "python app.py" 5 minutes ago Up 4 seconds 0.0.0.0:5000->5000/tcp heuristic_goldberg 074a8dca8629 training/webapp "python app.py" 14 minutes ago Up 14 minutes 0.0.0.0:32768->5000/tcp elastic_pasteur 268b8d077ec8 ubuntu:15.10 "/bin/sh -c 'while t…" 32 minutes ago Up 32 minutes reverent_neumann root@Ubuntu14:/# docker stop heuristic_goldberg heuristic_goldberg root@Ubuntu14:/# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 074a8dca8629 training/webapp "python app.py" 15 minutes ago Up 15 minutes 0.0.0.0:32768->5000/tcp elastic_pasteur 268b8d077ec8 ubuntu:15.10 "/bin/sh -c 'while t…" 33 minutes ago Up 33 minutes reverent_neumann root@Ubuntu14:/# docker restart heuristic_goldberg heuristic_goldberg root@Ubuntu14:/# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1ac3973807d5 training/webapp "python app.py" 6 minutes ago Up 3 seconds 0.0.0.0:5000->5000/tcp heuristic_goldberg 074a8dca8629 training/webapp "python app.py" 15 minutes ago Up 15 minutes 0.0.0.0:32768->5000/tcp elastic_pasteur 268b8d077ec8 ubuntu:15.10 "/bin/sh -c 'while t…" 33 minutes ago Up 33 minutes reverent_neumann root@Ubuntu14:/# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1ac3973807d5 training/webapp "python app.py" 6 minutes ago Up 17 seconds 0.0.0.0:5000->5000/tcp heuristic_goldberg root@Ubuntu14:/# docker stop reverent_neumann reverent_neumann root@Ubuntu14:/# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1ac3973807d5 training/webapp "python app.py" 7 minutes ago Up 53 seconds 0.0.0.0:5000->5000/tcp heuristic_goldberg 074a8dca8629 training/webapp "python app.py" 16 minutes ago Up 16 minutes 0.0.0.0:32768->5000/tcp elastic_pasteur root@Ubuntu14:/# docker rm reverent_neumann reverent_neumann root@Ubuntu14:/#

docker port  查看指定容器的某個(gè)確定端口映射到宿主機(jī)的端口號

docker logs -f  查看容器內(nèi)部的標(biāo)準(zhǔn)輸出

docker start  停止的容器可以重新啟用

docker restart  重啟已停止的容器

docker ps -l  查詢最后一次創(chuàng)建的容器

docker rm  移除已停止的容器

轉(zhuǎn)載于:https://www.cnblogs.com/karl-python/p/9134561.html

總結(jié)

以上是生活随笔為你收集整理的Docker 入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。