摘要:本是基于容器運行,在入門開發(fā)之前,我們首先需要掌握的相關(guān)基礎(chǔ)知識,本篇就以容器的基本使用方法為例,快速的讓大家對有一個全面的印象。簡介是一個開源的應(yīng)用容器引擎,基于語言并遵從協(xié)議開源。上面我們創(chuàng)建的應(yīng)用容器為容器名為。
URLOS本是基于docker容器運行,在入門URLOS開發(fā)之前,我們首先需要掌握docker的相關(guān)基礎(chǔ)知識,本篇就以docker容器的基本使用方法為例,快速的讓大家對docker有一個全面的印象。
Docker簡介Docker 是一個開源的應(yīng)用容器引擎,基于Go語言并遵從Apache2.0協(xié)議開源。
Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
Ubuntu Docker 安裝 1、Docker官方安裝方法Docker 要求 Ubuntu 系統(tǒng)的內(nèi)核版本高于 3.10 ,查看本頁面的前提條件來驗證你的 Ubuntu 版本是否支持 Docker。
獲取安裝包:
root@ubuntu:~# wget -qO- https://get.docker.com/ | sh
安裝完成后有提示:
If you would like to use Docker as a non-root user, you should now consider adding your user to the "docker" group with something like: sudo usermod -aG docker runoob Remember that you will have to log out and back in for this to take effect!
啟動docker服務(wù)
root@ubuntu:~# sudo service docker start2、通過安裝URLOS獲得
URLOS基于Docker運行,安裝了URLOS,就等于安裝了Docker,我們可以使用URLOS官方安裝命令:
curl -LO www.urlos.com/iu && sh iu
或
curl -O https://www.urlos.com/install && chmod 544 install && ./installDocker容器使用 Docker客戶端
Docker 客戶端非常簡單 ,可以直接輸入 Docker 命令來查看到 Docker 客戶端的所有命令選項。
root@ubuntu:~# docker
可以通過命令docker command --help更深入的了解指定的 Docker 命令使用方法。
例如我們要查看docker stats指令的具體使用方法:
root@ubuntu:~# docker stats --help
我們?nèi)绻褂冒姹緸?6.04的ubuntu系統(tǒng)鏡像來運行容器時,命令如下:
root@ubuntu:~# docker run -it ubuntu:16.04 sh #
如果要使用版本為15.04的ubuntu系統(tǒng)鏡像,則命令如下:
root@ubuntu:~# docker run -it ubuntu:15.04 sh #
各個參數(shù)解析:
docker: Docker 的二進制執(zhí)行文件。
run:與前面的 docker 組合來運行一個容器。
-it:其實是兩個參數(shù)組成, -i 和 -t,-i:允許你對容器內(nèi)的標準輸入 (STDIN) 進行交互。-t:在新容器內(nèi)指定一個偽終端或終端。
ubuntu:15.04:指定要運行的鏡像,Docker首先從本地主機上查找鏡像是否存在,如果不存在,Docker 就會從鏡像倉庫 Docker Hub 下載公共鏡像。
sh:執(zhí)行命令。
將上面的命令稍作修改,在結(jié)尾處加上一句命令,執(zhí)行后:
root@ubuntu:~# docker run -it ubuntu:16.04 sh -c "while true; do echo hello urlos; sleep 1; done" hello urlos hello urlos hello urlos hello urlos hello urlos hello urlos ^Croot@ubuntu:~#
我們可以看到終端上不斷輸出 hello urlos ,這時按鍵盤Ctrl+c來終止輸出。
啟動容器(后臺模式)我們將上面的命令再稍作修改,把 -it 替換為 -d 看看結(jié)果:
root@ubuntu:~# docker run -d ubuntu:16.04 sh -c "while true; do echo hello urlos; sleep 1; done" 0cf141fd0745fb4dc104bec1a3238a1bd8dad7aa72926dea0a39ddc7ba54fe32
在輸出中,我們沒有看到期望的"hello world",而是一串長字符
0cf141fd0745fb4dc104bec1a3238a1bd8dad7aa72926dea0a39ddc7ba54fe32
這個長字符串叫做容器ID,對每個容器來說都是唯一的,我們可以通過容器ID來查看對應(yīng)的容器發(fā)生了什么。
首先,我們需要確認容器有在運行,可以通過 docker ps 來查看:
root@ubuntu:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0cf141fd0745 ubuntu:16.04 "sh -c "while true; …" 2 minutes ago Up 2 minutes hopeful_matsumoto
然后使用 docker logs [ID或者名字]命令,查看容器內(nèi)的標準輸出:
root@ubuntu:~# docker logs hopeful_matsumoto hello urlos hello urlos hello urlos hello urlos hello urlos hello urlos hello urlos hello urlos
我們可以看到,在容器內(nèi)部已經(jīng)輸出了非常多的hello urlos,這說明容器處于后臺運行模式。
現(xiàn)在我們將在docker容器中運行一個 nginx 應(yīng)用來運行一個web應(yīng)用。
首先從Docker Hub公共鏡像源中拉取鏡像:
root@ubuntu:~# docker pull nginx
然后運行這個鏡像:
root@ubuntu:~# docker run -d -p 8080:80 nginx
參數(shù)說明:
-d:讓容器在后臺運行。
-p:讓宿主機的8080端口映射給容器內(nèi)部的80端口。
使用 docker ps 來查看我們正在運行的容器:
root@ubuntu:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b394756b6c5d nginx "nginx -g "daemon of…" 3 seconds ago Up 2 seconds 0.0.0.0:8080->80/tcp elastic_babbage
我們看到端口信息 0.0.0.0:8080->80/tcp,意思是宿主機的8080端口映射給容器內(nèi)部的80端口。
這時我們可以通過瀏覽器訪問WEB應(yīng)用:
通過docker ps命令可以查看到容器的端口映射,docker還提供了另一個快捷方式 docker port,使用 docker port 可以查看指定 (ID 或者名字)容器的某個確定端口映射到宿主機的端口號。
上面我們創(chuàng)建的 web 應(yīng)用容器 ID 為 b394756b6c5d 容器名為 elastic_babbage。
我可以使用 docker port b394756b6c5d 或 docker port elastic_babbage 來查看容器端口的映射情況。
root@ubuntu:~# docker port b394756b6c5d 80/tcp -> 0.0.0.0:8080
root@ubuntu:~# docker port affectionate_montalcini 80/tcp -> 0.0.0.0:8080
使用docker logs [ID或者名字] 可以查看容器內(nèi)部的標準輸出。
root@ubuntu:~# docker logs b394756b6c5d 192.168.43.131 - - [04/Jun/2019:06:28:42 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0" "-" 2019/06/05 06:28:42 [error] 6#6: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.43.131, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.43.122:8080" 192.168.43.131 - - [04/Jun/2019:06:28:42 +0000] "GET /favicon.ico HTTP/1.1" 404 153 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0" "-"
我們還可以使用 docker top 來查看容器內(nèi)部運行的進程
root@ubuntu:~# docker top b394756b6c5d UID PID PPID C STIME TTY TIME CMD root 2069 2050 0 23:24 ? 00:00:00 nginx: master process nginx -g daemon off; systemd+ 2100 2069 0 23:24 ? 00:00:00 nginx: worker process
使用 docker stop [ID或者名字] 命令停止容器
root@ubuntu:~# docker stop b394756b6c5d b394756b6c5d啟動 WEB 應(yīng)用容器
使用 docker start [ID或者名字] 命令啟動已經(jīng)停止的容器
root@ubuntu:~# docker start b394756b6c5d b394756b6c5d重新啟動WEB應(yīng)用容器
我們能還可以使用 docker restart [ID或者名字] 命令重新啟動正在運行的容器
root@ubuntu:~# docker restart b394756b6c5d b394756b6c5d
docker ps -l 查詢最后一次創(chuàng)建的容器:
root@ubuntu:~# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b394756b6c5d nginx "nginx -g "daemon of…" 12 minutes ago Up 12 minutes 0.0.0.0:8080->80/tcp elastic_babbage
我們可以使用 docker rm [ID或者名字] 命令來刪除不需要的容器
注意:刪除容器時,容器必須是停止狀態(tài),否則會報如下錯誤:
root@ubuntu:~# docker rm b394756b6c5d Error response from daemon: You cannot remove a running container b394756b6c5d95f1d43f11393c169cc73de40938d8f09db81077c8bce6e5881a. Stop the container before attempting removal or force remove
如果要刪除正在運行的容器,這時我們只需要加入 -f 參數(shù)即可:
root@ubuntu:~# docker rm -f b394756b6c5d b394756b6c5d
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27896.html
摘要:使用技術(shù)可以幫助企業(yè)快速水平擴展服務(wù),從而到達彈性部署業(yè)務(wù)的能力。例如我們要安裝然后使用查看我們的擴展是否安裝成功。啟動和,檢查是否正常運行。單容器運行若勾選,則表示安裝此應(yīng)用時,每個服務(wù)只運行一個容器。 使用Docker技術(shù)可以幫助企業(yè)快速水平擴展服務(wù),從而到達彈性部署業(yè)務(wù)的能力。在云服務(wù)概念興起之后,Docker的使用場景和范圍進一步發(fā)展,如今在微服務(wù)架構(gòu)越來越流行的情況下,微服務(wù)...
摘要:近期雙十一大促活動期間,我們站長朋友們肯定會買各種業(yè)務(wù)需要的云服務(wù)產(chǎn)品,在前面的文章中老蔣也有介紹到寶塔面板專業(yè)版在期間也是有活動的雙十一寶塔面板專業(yè)版優(yōu)惠活動。這篇文章要介紹的是雙十一期間,商家標準版永久授權(quán)低至元。近期雙十一大促活動期間,我們站長朋友們肯定會買各種業(yè)務(wù)需要的云服務(wù)產(chǎn)品,在前面的文章中老蔣也有介紹到寶塔面板專業(yè)版在期間也是有活動的(2021雙十一寶塔面板專業(yè)版優(yōu)惠活動)。今...
摘要:我們在進行應(yīng)用開發(fā)時,經(jīng)常會用到一些基礎(chǔ)系統(tǒng)鏡像,如等,我們可以通過命令直接拉取官方鏡像。目前官方已開始推薦使用替代之前的做為基礎(chǔ)鏡像環(huán)境。適合容器使用由于小巧功能完備,非常適合作為容器的基礎(chǔ)鏡像。 我們在進行URLOS應(yīng)用開發(fā)時,經(jīng)常會用到一些基礎(chǔ)系統(tǒng)鏡像,如:ubuntu、CentOS、Debian等,我們可以通過docker pull命令直接拉取官方鏡像。 root@ubuntu...
閱讀 838·2019-08-30 15:54
閱讀 450·2019-08-30 12:51
閱讀 2030·2019-08-29 16:28
閱讀 2854·2019-08-29 16:10
閱讀 2338·2019-08-29 14:21
閱讀 417·2019-08-29 14:09
閱讀 2139·2019-08-23 16:13
閱讀 1243·2019-08-23 13:59