1. Docker入門(mén)指南

        共 3661字,需瀏覽 8分鐘

         ·

        2022-07-06 11:58

        作者:AndyLizh

        出處:blog.csdn.net/gebitan505

        更換國(guó)內(nèi)鏡像源

        docker store地址默認(rèn)是在國(guó)外,下載速度很慢,自行更換國(guó)內(nèi)docker加速地址。

        名詞解釋

        image: 鏡像
        containers: 容器
        docker-machine: docker虛擬主機(jī)
        docker store: docker存儲(chǔ)云

        術(shù)語(yǔ)

        Image 和 Container
        Image可以理解為一個(gè)系統(tǒng)鏡像,Container是Image在運(yùn)行時(shí)的一個(gè)狀態(tài)。
        如果拿虛擬機(jī)作一個(gè)比喻的話,Image就是關(guān)機(jī)狀態(tài)下的磁盤(pán)文件,Container就是虛擬機(jī)運(yùn)行時(shí)的磁盤(pán)文件,包括內(nèi)存數(shù)據(jù)。

        Image 是系統(tǒng)一般來(lái)源是官方資源,或者比較穩(wěn)定成熟的資源
        Container 是啟動(dòng)系統(tǒng)后的運(yùn)行時(shí)環(huán)境, 包括磁盤(pán) + 運(yùn)行的其他軟件 + 環(huán)境配置他們之間可以互相轉(zhuǎn)換。

        docker daemon
        主機(jī)上運(yùn)行的后臺(tái)服務(wù)管理構(gòu)建,運(yùn)行和分發(fā)Docker容器

        docker client
        命令行工具,允許用戶與Docker守護(hù)進(jìn)程交互

        docker store
        docker images的注冊(cè)地址,可以在其中找到受信任的企業(yè)級(jí)容器,插件和Docker版本。相當(dāng)于docker的倉(cāng)庫(kù)。

        運(yùn)行docker HelloWorld
        docker run hello-world

        拉取docker cloud項(xiàng)目
        docker pull alpine
        docker run hello-world 背后也做了 docker pull 的動(dòng)作去docker服務(wù)器上面下載。

        提示:如果本地不存在這個(gè)image的話,如果本地已經(jīng)存在,就不去docker store上面下載了。

        查看所有的docker鏡像
        docker images

        執(zhí)行 docker 的命令
        docker run alpine ls -l

        進(jìn)入一個(gè)docker
        docker run -it alpine /bin/sh
        exit退出

        查看當(dāng)前運(yùn)行的 docker
        docker ps

        查看全部 docker
        docker ps -a

        獲取 docker run 參數(shù)列表
        docker run --help

        查看一個(gè)docker的信息
        docker inspect alpine

        暫停 docker 容器
        docker stop xxx

        xxx 為 docker容器的名字 或CONTAINER ID

        刪除一個(gè)docker容器
        docker rm xxx

        -f 運(yùn)行中的docker容器,需要先暫停再刪除,或者直接加此參數(shù)

        docker rm -f xxx

        基本的docker web項(xiàng)目
        從docker store獲取依賴的docker image

        // docker pull dockersamples/static-site
        docker run -d dockersamples/static-site

        -d 表示后臺(tái)運(yùn)行,不加-d,就像Tomcat一樣,無(wú)法再在當(dāng)前命令窗口操作了,默認(rèn)是flase。

        detached 模式運(yùn)行docker
        docker run --name static-site -e AUTHOR="Your Name" -d -P dockersamples/static-site

        -d 獨(dú)立于當(dāng)前命令窗口運(yùn)行

        -P 將所有暴露的docker容器端口,映射到真實(shí)主機(jī)上面的隨機(jī)端口

        -p 將當(dāng)前主機(jī)上面的指定端口,映射到docker容器的一個(gè)端口:-p 8888:80 將當(dāng)前主機(jī)的8888端口映射到docker容器的80端口。

        --name 指定容器的名稱

        -e 可以傳遞環(huán)境變量給docker容器

        AUTHOR 環(huán)境變量的名稱和值,可以自己任意指定

        查看docker容器映射的端口
        docker port [容器名 --name 指定的值]

        $ docker port static-site
        443/tcp -> 0.0.0.0:32772
        80/tcp -> 0.0.0.0:32773

        使用localhost:[docer80的本地映射端口]訪問(wèn):
        http://localhost:32769/

        創(chuàng)建docker主機(jī)

        列出所有的docker主機(jī)
        docker-machine ls

        獲取docker主機(jī)的IP地址
        docker-machine ip default

        可能出現(xiàn)錯(cuò)誤:
        Host does not exist: "default"

        解決:
        docker-machine create default

        如果繼續(xù)報(bào)錯(cuò),Mac需要安裝:VirtualBox
        https://www.docker.com/products/docker-toolbox

        Mac
        docker-machine create -d virtualbox default

        Windows
        需要在添加刪除程序里面開(kāi)啟hyperv,只有專業(yè)版的Windows才有,家庭版不存在此功能。

        docker-machine create --driver hyperv vm
        https://docs.docker.com/machine/drivers/hyper-v/

        安裝完以后重啟docker

        Linux

        sudo service docker restart
        Mac 和 Windows 圖形化界面手動(dòng)重啟

        然后繼續(xù)創(chuàng)建:
        docker-machine create default

        名字可以隨便起,不一定要叫default
        不報(bào)錯(cuò)任何錯(cuò)誤,如:

        Running pre-create checks…
        Error with pre-create check: "exit status 126"

        說(shuō)明安裝成功:

        Running pre-create checks…
        Creating machine…
        (default) Copying
        (default) Creating VirtualBox VM…
        (default) Creating SSH key…
        (default) Starting the VM…
        (default) Check network to re-create if needed…
        (default) Found a new host-only adapter: "vboxnet0"
        (default) Waiting for an IP…
        Waiting for machine to be running, this may take a few minutes…
        Detecting operating system of created instance…
        Waiting for SSH to be available…
        Detecting the provisioner…
        Provisioning with boot2docker…
        Copying certs to the local machine directory…
        Copying certs to the remote machine…
        Setting Docker configuration on the remote daemon…
        Checking connection to Docker…
        Docker is up and running!
        To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env default

        然后再次查看docker主機(jī):
        docker-machine ls

        看到NAME為default的主機(jī),說(shuō)明成功。

        再次輸入:docker-machine ip default

        得到一個(gè)主機(jī)的IP

        192.168.99.100

        進(jìn)入docker主機(jī)
        docker-machine ssh default

        看到命令行前綴改變,表示成功

        docker@default:~$

        從docker store下載并運(yùn)行
        dockersamples/static-site:

        docker run --name static-site -e AUTHOR="Your Name" -d -P dockersamples/static-site

        然后查看docker主機(jī)里面容器的映射端口,使用docker主機(jī)的ip + 主機(jī)內(nèi)容器的端口就可以訪問(wèn)到主機(jī)內(nèi)的容器服務(wù):

        查看容器映射端口
        docker port static-site
        443/tcp -> 0.0.0.0:32768
        80/tcp -> 0.0.0.0:32769
        http://192.168.99.100:32769/

        如有文章對(duì)你有幫助,

        在看”和轉(zhuǎn)發(fā)是對(duì)我最大的支持!

        瀏覽 136
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 色婷婷国产精品秘 免 | 成人黄色在线播放 | 中文字幕综合 | 日韩精品一区二区三区电影在线看 | 日韩精品一区二区三区高清免费 |