地 址:聯係地址聯係地址聯係地址
电 话:020-123456789
网址:www.6ql2.cn
邮 箱:[email protected]
Docker運行命令示例
Docker是启动启动一個平台 ,可讓你將應用程序開發 ,命令命令測試和部署為可在幾乎任何地方運行的燃爆可移植的自給自足的容器docker run命令從給定的鏡像創建一個容器 ,並使用給定的启动启动命令啟動該容器這是開始使用Docker時應熟悉的第一批命令之一。
在本文中,命令命令我們將使用官方的燃爆Nginx鏡像來展示運行Docker容器的各種方法Docker運行命令docker run命令采用以下形式 :docker run [OPTIONS] IMAGE [COMMAND] [ARG...]。
從中創建容器的启动启动鏡像名稱是docker run命令的唯一必需參數如果本地係統上不存在該映像 ,則將其從注冊表中拉出如果未指定任何命令 ,命令命令則在運行容器時將執行Dockerfile的燃爆CMD或ENTRYPOINT指令中指定的命令。
從版本1.13開始 ,启动启动Docker CLI進行了重組,命令命令並且所有命令都被分組在與之交互的燃爆對象下由於run命令與容器交互,因此它現在是启动启动docker container的子命令新命令的語法如下:docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]。
仍支持舊的命令命令1.13以前的語法在後台,docker run命令是燃爆docker container run的別名鼓勵用戶使用新的命令語法所有docker container run選項的列表可在 Docker文檔頁麵上找到 。
在前台中運行容器默認情況下,當docker run命令未提供任何選項時,根進程將在前台啟動這意味著來自根進程的標準輸入,輸出和錯誤將附加到終端會話docker container run nginxNginx進程的輸出將顯示在你的終端上。
由於沒有與Web服務器的連接,因此終端為空要停止容器,請按CTRL+C終止正在運行的Nginx進程以分離(後台)模式運行容器要在退出終端會話時保持容器運行 ,請以分離模式啟動容器這類似於在後台運行 Linux進程。
使用-d選項啟動獨立的容器:docker container run -d nginx050e72d8567a3ec1e66370350b0069ab5219614f9701f63fcf02e8c8689f04fa
根進程終止後 ,分離的容器將停止你可以使用 docker container ls 命令列出正在運行的容器要將終端連接到分離的容器根進程 ,請使用 docker container attach令在退出後移除容器 。
默認情況下,當容器退出時,其文件係統將保留在主機係統上--rm選項告訴docker run命令在容器自動退出時將其刪除 :docker container run --rm nginx在容器退出後 ,Nginx映像可能不是清理容器文件係統的最佳示例。
此選項通常用於執行短期任務(例如測試或數據庫備份)的前台容器設置容器名稱在Docker中,每個容器都通過UUID和名稱來標識默認情況下 ,如果未顯式設置 ,則容器名稱由Docker守護程序自動生成使用--name
選項為容器分配自定義名稱:docker container run -d --name my_nginx nginx容器名稱必須唯一如果你嚐試使用相同的名稱啟動另一個容器,則會收到類似以下錯誤:docker: Error response from daemon: Conflict. The container name 。
"/my_nginx" is already in use by container "..c". You have to remove (or rename) that container to be able to reuse that name.
運行docker container ls -a列出所有容器 ,然後查看它們的名稱:docker container lsCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9d695c1f5ef4 nginx "nginx -g daemon of…" 36 seconds ago Up 35 seconds 80/tcp my_nginx有意義的名稱對於在Docker網絡中或運行Docker CLI命令時引用容器很有用。
發布容器端口默認情況下,如果未發布任何端口,則隻能從容器內部訪問容器中運行的進程發布端口意味著將容器端口映射到主機端口 ,以便這些端口可用於Docker外部的服務要發布端口 ,請使用-p選項,如下所示:-p host_ip:host_port:container_port/protocol
如果未指定host_ip,則默認為0.0.0.0如果未指定protocol,則默認為TCP發布多個端口,請使用多個-p選項要將容器中的TCP端口80(nginx)映射到主機localhost接口上的端口8080,請運行 : 。
docker container run --name web_server -d -p 8080:80 nginx你可以通過在瀏覽器中打開http://localhost:8080或在Docker主機上運行以下
curl 命令來驗證端口是否已發布:curl -I http://localhost:8080輸出將如下所示 :HTTP/1 200 OKServer: nginx/6Date: Tue, 26 Nov 2019 22:55:59 GMT
Content-Type: text/htmlContent-Length: 612Last-Modified: Tue, 19 Nov 2019 12:50:08 GMTConnection: keep-alive
ETag: "5dd3e500-264"Accept-Ranges: bytes共享數據(安裝量)當容器停止時,該容器生成的所有數據都將被刪除Docker卷是使數據持久化並在多個容器之間共享的首選方法要創建和管理卷,請使用
-p選項 ,如下所示 :-v host_src:container_dest:optionshost_src可以是主機或命名卷上文件或目錄的絕對路徑container_dest是容器上文件或目錄的絕對路徑選項可以是
rw(讀寫)和ro(隻讀)如果未指定選項 ,則默認為rw為解釋它的工作原理,讓我們在主機上創建目錄 ,並在其中放置index.html文件:mkdir public_htmlecho"入門小站" > public_html/index.html。
接下來 ,將public_html目錄安裝到容器的/usr/share/nginx/html中 :docker run --name web_server -d -p 8080:80 -v $(pwd)/public_html:/usr/share/nginx/html nginx
我們使用$(pwd)命令代替指定public_html目錄的絕對路徑,該命令顯示當前工作目錄現在,如果在瀏覽器中鍵入http://localhost:8080,則應該看到index.html文件的內容你也可以使用 。
curl http://localhost:8080入門小站交互式運行容器處理bash之類的交互過程時,請使用-i和-t選項啟動容器-it選項告訴Docker將標準輸入保留在終端上並分配一個偽tty :docker container run -it nginx /bin/bash
容器的Bash外殼將連接到終端,命令提示符將更改:root@1da70f1937f5:/#現在 ,你可以與容器的外殼進行交互並在其中運行任何命令在此示例中 ,我們提供了命令(/bin/bash)作為執行的docker run
命令的參數,而不是Dockerfile中指定的命令結論Docker是打包和部署應用程序的標準,並且是CI/CD,自動化和DevOps的重要組成部分docker container run命令用於創建和運行Docker容器。
【Linux常用命令速查手冊】關注【入門小站】 ,後台回複 「1001」 自取近期熱文如何在linux中使用終端命令行創建文件linux之cp,mv,rm參數過長Argumentlisttoolongli
nux總結10大危險命令linux中刪除特殊文件linux中tty由來linux中為什麽你應該添加交換空間swapLinux如何在Bash中將標準錯誤stderr重定向到stdout標準輸出Linux中
統計進程內存使用的神器linux係統中的IO
免責聲明:本站所有信息均搜集自互聯網 ,並不代表本站觀點 ,本站不對其真實合法性負責 。如有信息侵犯了您的權益,請告知,本站將立刻處理。聯係QQ:1640731186