日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

兩小時入門 Docker

 River_LaLaLa 2019-03-09

(給Python開發(fā)者加星標(biāo),提升Python技能

來源:Warm and new

www.cnblogs.com/peng104/p/10296717.html

1、引言

1.1 Docker是什么

Docker 最初是 dotCloud 公司創(chuàng)始人 Solomon Hykes 在法國期間發(fā)起的一個公司內(nèi)部項目,于 2013 年 3 月以 Apache 2.0 授權(quán)協(xié)議開源,主要項目代碼在 GitHub 上進(jìn)行維護(hù)。


Docker 使用 Google 公司推出的 Go 語言 進(jìn)行開發(fā)實現(xiàn)。


docker是linux容器的一種封裝,提供簡單易用的容器使用接口。它是最流行的Linux容器解決方案。


docker的接口相當(dāng)簡單,用戶可以方便的創(chuàng)建、銷毀容器。


docker將應(yīng)用程序與程序的依賴,打包在一個文件里面。運(yùn)行這個文件就會生成一個虛擬容器。


程序運(yùn)行在虛擬容器里,如同在真實物理機(jī)上運(yùn)行一樣,有了docker,就不用擔(dān)心環(huán)境問題了。

1.2 應(yīng)用場景

  • web應(yīng)用的自動化打包和發(fā)布

  • 自動化測試和持續(xù)集成、發(fā)布

  • 在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他應(yīng)用

1.3 區(qū)別

1、物理機(jī)

2、虛擬機(jī)

3、docker容器

1.4 Docker的三大概念及優(yōu)勢

  • 鏡像 image

  • 容器 container

  • 倉庫 repository

docker容器的優(yōu)勢

# 1、更高效的利用系統(tǒng)資源

由于容器不需要進(jìn)行硬件虛擬以及運(yùn)行完整操作系統(tǒng)等額外開銷,Docker 對系統(tǒng) 資源的利用率更高。

無論是應(yīng)用執(zhí)行速度、內(nèi)存損耗或者文件存儲速度,都要比傳 統(tǒng)虛擬機(jī)技術(shù)更高效。因此,相比虛擬機(jī)技術(shù),一個相同配置的主機(jī),往往可以運(yùn) 行更多數(shù)量的應(yīng)用。

# 2、更快速的啟動時間

傳統(tǒng)的虛擬機(jī)技術(shù)啟動應(yīng)用服務(wù)往往需要數(shù)分鐘,而 Docker 容器應(yīng)用,由于直接 運(yùn)行于宿主內(nèi)核,無需啟動完整的操作系統(tǒng),因此可以做到秒級、甚至毫秒級的啟 動時間。大大的節(jié)約了開發(fā)、測試、部署的時間。

# 3、一致的運(yùn)行環(huán)境

開發(fā)過程中一個常見的問題是環(huán)境一致性問題。由于開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán) 境不一致,導(dǎo)致有些 bug 并未在開發(fā)過程中被發(fā)現(xiàn)。

而 Docker 的鏡像提供了除內(nèi) 核外完整的運(yùn)行時環(huán)境,確保了應(yīng)用運(yùn)行環(huán)境一致性,從而不會再出現(xiàn) “這段代碼 在我機(jī)器上沒問題啊” 這類問題。

# 4、持續(xù)交付和部署

對開發(fā)和運(yùn)維(DevOps)人員來說,最希望的就是一次創(chuàng)建或配置,可以在任意 地方正常運(yùn)行。

使用 Docker 可以通過定制應(yīng)用鏡像來實現(xiàn)持續(xù)集成、持續(xù)交付、部署。開發(fā)人員 可以通過 Dockerfile 來進(jìn)行鏡像構(gòu)建,并結(jié)合持續(xù)集成(Continuous Integration) 系 統(tǒng)進(jìn)行集成測試,而運(yùn)維人員則可以直接在生產(chǎn)環(huán)境中快速部署該鏡像,甚至結(jié)合 持續(xù)部署(Continuous Delivery/Deployment) 系統(tǒng)進(jìn)行自動部署。

而且使用 Dockerfile 使鏡像構(gòu)建透明化,不僅僅開發(fā)團(tuán)隊可以理解應(yīng)用運(yùn)行環(huán) 境,也方便運(yùn)維團(tuán)隊理解應(yīng)用運(yùn)行所需條件,幫助更好的生產(chǎn)環(huán)境中部署該鏡像。

# 5、更輕松的遷移

由于 Docker 確保了執(zhí)行環(huán)境的一致性,使得應(yīng)用的遷移更加容易。Docker 可以在 很多平臺上運(yùn)行,無論是物理機(jī)、虛擬機(jī)、公有云、私有云,甚至是筆記本,其運(yùn) 行結(jié)果是一致的。

因此用戶可以很輕易的將在一個平臺上運(yùn)行的應(yīng)用,遷移到另一 個平臺上,而不用擔(dān)心運(yùn)行環(huán)境的變化導(dǎo)致應(yīng)用無法正常運(yùn)行的情況。

2、0Docker安裝

系統(tǒng)環(huán)境:docker最低支持centos7且在64位平臺上,內(nèi)核版本在3.10以上

版本:社區(qū)版,企業(yè)版(包含了一些收費(fèi)服務(wù))

官方版安裝教程(英文)

https://docs./install/linux/docker-ce/centos/#upgrade-docker-after-using-the-convenience-script

博主版安裝教程:

# 安裝docker
yum install docker
# 啟動docker 
systemctl start/status docker 
# 查看docker啟動狀態(tài)
docker version 

配置加速器

簡介:DaoCloud 加速器 是廣受歡迎的 Docker 工具,解決了國內(nèi)用戶訪問 Docker Hub 緩慢的問題。DaoCloud 加速器結(jié)合國內(nèi)的 CDN 服務(wù)與協(xié)議層優(yōu)化,成倍的提升了下載速度。

DaoCloud官網(wǎng):

https://www./mirror#accelerator-doc

# 一條命令加速(記得重啟docker)
curl -sSL https://get./daotools/set_mirror.sh | sh -s http://95822026.m.

3、0Docker基礎(chǔ)命令

docker --help(中文注解)

Usage:
docker [OPTIONS] COMMAND [arg...]

       docker daemon [ --help | ... ]

       docker [ --help | -v | --version ]



A
self-sufficient runtime for containers.



Options:



  --config=~/.docker              Location of client config files  #客戶端配置文件的位置

  -D, --debug=false               Enable debug mode  #啟用Debug調(diào)試模式

  -H, --host=[]                   Daemon socket(s) to connect to  #守護(hù)進(jìn)程的套接字(Socket)連接

  -h, --help=false                Print usage  #打印使用

  -l, --log-level=info            Set the logging level  #設(shè)置日志級別

  --tls=false                     Use TLS; implied by--tlsverify  #

  --tlscacert=~/.docker/ca.pem    Trust certs signed only by this CA  #信任證書簽名CA

  --tlscert=~/.docker/cert.pem    Path to TLS certificate file  #TLS證書文件路徑

  --tlskey=~/.docker/key.pem      Path to TLS key file  #TLS密鑰文件路徑

  --tlsverify=false               Use TLS and verify the remote  #使用TLS驗證遠(yuǎn)程

  -v, --version=false             Print version information and quit  #打印版本信息并退出



Commands:

    attach    Attach to a running container  #當(dāng)前shell下attach連接指定運(yùn)行鏡像

    build     Build an image from a Dockerfile  #通過Dockerfile定制鏡像

    commit    Create a new image from a container's changes  #提交當(dāng)前容器為新的鏡像

    cp    Copy files/folders from a container to a HOSTDIR or to STDOUT  #從容器中拷貝指定文件或者目錄到宿主機(jī)中

    create    Create a new container  #創(chuàng)建一個新的容器,同run 但不啟動容器

    diff    Inspect changes on a container's filesystem  #查看docker容器變化

    events    Get real time events from the server#從docker服務(wù)獲取容器實時事件

    exec    Run a command in a running container#在已存在的容器上運(yùn)行命令

    export    Export a container's filesystem as a tar archive  #導(dǎo)出容器的內(nèi)容流作為一個tar歸檔文件(對應(yīng)import)

    history    Show the history of an image  #展示一個鏡像形成歷史

    images    List images  #列出系統(tǒng)當(dāng)前鏡像

    import    Import the contents from a tarball to create a filesystem image  #從tar包中的內(nèi)容創(chuàng)建一個新的文件系統(tǒng)映像(對應(yīng)export)

    info    Display system-wide information  #顯示系統(tǒng)相關(guān)信息

    inspect    Return low-level information on a container or image  #查看容器詳細(xì)信息

    kill    Kill a running container  #kill指定docker容器

    load    Load an image from a tar archive or STDIN  #從一個tar包中加載一個鏡像(對應(yīng)save)

    login    Register or log in to a Docker registry#注冊或者登陸一個docker源服務(wù)器

    logout    Log out from a Docker registry  #從當(dāng)前Docker registry退出

    logs    Fetch the logs of a container  #輸出當(dāng)前容器日志信息

    pause    Pause all processes within a container#暫停容器

    port    List port mappings or a specific mapping for the CONTAINER  #查看映射端口對應(yīng)的容器內(nèi)部源端口

    ps    List containers  #列出容器列表

    pull    Pull an image or a repository from a registry  #從docker鏡像源服務(wù)器拉取指定鏡像或者庫鏡像

    push    Push an image or a repository to a registry  #推送指定鏡像或者庫鏡像至docker源服務(wù)器

    rename    Rename a container  #重命名容器

    restart    Restart a running container  #重啟運(yùn)行的容器

    rm    Remove one or more containers  #移除一個或者多個容器

    rmi    Remove one or more images  #移除一個或多個鏡像(無容器使用該鏡像才可以刪除,否則需要刪除相關(guān)容器才可以繼續(xù)或者-f強(qiáng)制刪除)

    run    Run a command in a new container  #創(chuàng)建一個新的容器并運(yùn)行一個命令

    save    Save an image(s) to a tar archive#保存一個鏡像為一個tar包(對應(yīng)load)

    search    Search the Docker Hub for images  #在docker
hub中搜索鏡像

    start    Start one or more stopped containers#啟動容器

    stats    Display a live stream of container(s) resource usage statistics  #統(tǒng)計容器使用資源

    stop    Stop a running container  #停止容器

    tag         Tag an image into a repository  #給源中鏡像打標(biāo)簽

    top       Display the running processes of a container #查看容器中運(yùn)行的進(jìn)程信息

    unpause    Unpause all processes within a container  #取消暫停容器

    version    Show the Docker version information#查看容器版本號

    wait         Block until a container stops, then print its exit code  #截取容器停止時的退出狀態(tài)值



Run 'docker COMMAND --help' for more information on a command.  #運(yùn)行docker命令在幫助可以獲取更多信息
docker search  hello-docker  # 搜索hello-docker的鏡像
docker search centos # 搜索centos鏡像
docker pull hello-docker # 獲取centos鏡像
docker run  hello-world   #運(yùn)行一個docker鏡像,產(chǎn)生一個容器實例(也可以通過鏡像id前三位運(yùn)行)
docker image ls  # 查看本地所有鏡像
docker images  # 查看docker鏡像
docker image rmi hello-docker # 刪除centos鏡像
docker ps  #列出正在運(yùn)行的容器(如果創(chuàng)建容器中沒有進(jìn)程正在運(yùn)行,容器就會立即停止)
docker ps -a  # 列出所有運(yùn)行過的容器記錄
docker save centos > /opt/centos.tar.gz  # 導(dǎo)出docker鏡像至本地
docker load < /opt/centos.tar.gz   #導(dǎo)入本地鏡像到docker鏡像庫
docker stop  `docker ps -aq`  # 停止所有正在運(yùn)行的容器
docker  rm `docker ps -aq`    # 一次性刪除所有容器記錄
docker rmi  `docker images -aq`   # 一次性刪除所有本地的鏡像記錄

3.1 啟動容器的兩種方式

容器是運(yùn)行應(yīng)用程序的,所以必須得先有一個操作系統(tǒng)為基礎(chǔ)


1、基于鏡像新建一個容器并啟動

# 1. 后臺運(yùn)行一個docker
docker run -d centos /bin/sh -c 'while true;do echo 正在運(yùn)行; sleep 1;done'
    # -d  后臺運(yùn)行容器
    # /bin/sh  指定使用centos的bash解釋器
    # -c 運(yùn)行一段shell命令
    # 'while true;do echo 正在運(yùn)行; sleep 1;done'  在linux后臺,每秒中打印一次正在運(yùn)行
docker ps  # 檢查容器進(jìn)程
docker  logs  -f  容器id/名稱  # 不間斷打印容器的日志信息 
docker stop centos  # 停止容器

# 2. 啟動一個bash終端,允許用戶進(jìn)行交互
docker run --name mydocker -it centos /bin/bash  
    # --name  給容器定義一個名稱
    # -i  讓容器的標(biāo)準(zhǔn)輸入保持打開
    # -t 讓Docker分配一個偽終端,并綁定到容器的標(biāo)準(zhǔn)輸入上
    # /bin/bash 指定docker容器,用shell解釋器交互

當(dāng)利用docker run來創(chuàng)建容器時,Docker在后臺運(yùn)行的步驟如下:

# 1. 檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
# 2. 利用鏡像創(chuàng)建并啟動一個容器
# 3. 分配一個文件系統(tǒng),并在只讀的鏡像層外面掛在一層可讀寫層
# 4. 從宿主主機(jī)配置的網(wǎng)橋接口中橋接一個虛擬接口到容器中去
# 5. 從地址池配置一個ip地址給容器
# 6. 執(zhí)行用戶指定的應(yīng)用程序
# 7. 執(zhí)行完畢后容器被終止

2、將一個終止?fàn)顟B(tài)(stopped)的容器重新啟動

[root@localhost ~]# docker ps -a  # 先查詢記錄
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                    NAMES
ee92fcf6f32d        centos              '/bin/bash'              4 days ago          Exited (1373 days ago                                kickass_raman

[root@localhost ~]# docker start ee9  # 再啟動這個容器
ee9

[root@localhost ~]# docker exec -it  ee9 /bin/bash  # 進(jìn)入容器交互式界面
[root@ee92fcf6f32d /]#   # 注意看用戶名,已經(jīng)變成容器用戶名

3.2 提交創(chuàng)建自定義鏡像

# 1.我們進(jìn)入交互式的centos容器中,發(fā)現(xiàn)沒有vim命令
    docker run -it centos
# 2.在當(dāng)前容器中,安裝一個vim
    yum install -y vim
# 3.安裝好vim之后,exit退出容器
    exit
# 4.查看剛才安裝好vim的容器記錄
    docker container ls -a
# 5.提交這個容器,創(chuàng)建新的image
    docker commit 059fdea031ba chaoyu/centos-vim
# 6.查看鏡像文件
    docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
chaoyu/centos-vim   latest              fd2685ae25fe        5 minutes ago       348MB

3.3 外部訪問容器

容器中可以運(yùn)行網(wǎng)絡(luò)應(yīng)用,但是要讓外部也可以訪問這些應(yīng)用,可以通過-p或-P參數(shù)指定端口映射。

docker run -d -P training/webapp python app.py
  # -P 參數(shù)會隨機(jī)映射端口到容器開放的網(wǎng)絡(luò)端口

# 檢查映射的端口
docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED            STATUS              PORTS                     NAMES
cfd632821d7a        training/webapp     'python app.py'     21 seconds ago      Up 20 seconds       0.0.0.0:32768->5000/tcp   brave_fermi
#宿主機(jī)ip:32768 映射容器的5000端口

# 查看容器日志信息
docker logs -f cfd  # #不間斷顯示log

# 也可以通過-p參數(shù)指定映射端口
docker run -d -p 9000:5000 training/webapp python app.py

打開瀏覽器訪問服務(wù)器的9000端口, 內(nèi)容顯示 Hello world!表示正常啟動

(如果訪問失敗的話,檢查自己的防火墻,以及云服務(wù)器的安全組)

4、利用dockerfile定制鏡像

鏡像是容器的基礎(chǔ),每次執(zhí)行docker run的時候都會指定哪個鏡像作為容器運(yùn)行的基礎(chǔ)。我們之前的例子都是使用來自docker hub的鏡像,直接使用這些鏡像只能滿足一定的需求,當(dāng)鏡像無法滿足我們的需求時,就得自定制這些鏡像。

# 鏡像的定制就是定制每一層所添加的配置、文件。如果可以吧每一層修改、安裝、構(gòu)建、操作的命令都寫入到一個腳本,用腳本來構(gòu)建、定制鏡像,這個腳本就是dockerfile。
# Dockerfile 是一個文本文件,其內(nèi)包含了一條條的指令(Instruction),每一條指令 構(gòu)建一層,因此每一條指令的內(nèi)容,就是描述該層應(yīng)當(dāng)如何構(gòu)建。

參數(shù)詳解

FROM scratch #制作base image 基礎(chǔ)鏡像,盡量使用官方的image作為base image
FROM centos #使用base image
FROM ubuntu:14.04 #帶有tag的base image

LABEL version=“1.0” #容器元信息,幫助信息,Metadata,類似于代碼注釋
LABEL maintainer=“yc_uuu@163.com'

#對于復(fù)雜的RUN命令,避免無用的分層,多條命令用反斜線換行,合成一條命令!
RUN yum update && yum install -y vim \
    Python-dev #反斜線換行
RUN /bin/bash -c '
source $HOME/.bashrc;echo $HOME

WORKDIR /root #相當(dāng)于linux的cd命令,改變目錄,盡量使用絕對路徑?。?!不要用RUN cd
WORKDIR /test # 如果沒有就自動創(chuàng)建
WORKDIR demo # 再進(jìn)入demo文件夾
RUN pwd     # 打印結(jié)果應(yīng)該是/test/demo

ADD and COPY 
ADD hello /  # 把本地文件添加到鏡像中,吧本地的hello可執(zhí)行文件拷貝到鏡像的/目錄
ADD test.tar.gz /  # 添加到根目錄并解壓

WORKDIR /root
ADD hello test/  # 進(jìn)入/root/ 添加hello可執(zhí)行命令到test目錄下,也就是/root/test/hello 一個絕對路徑
COPY hello test/  # 等同于上述ADD效果

ADD與COPY
   - 優(yōu)先使用COPY命令
    -ADD除了COPY功能還有解壓功能
添加遠(yuǎn)程文件/目錄使用curl或wget

ENV # 環(huán)境變量,盡可能使用ENV增加可維護(hù)性
ENV MYSQL_VERSION 5.6 # 設(shè)置一個mysql常量
RUN yum install -y mysql-server=“${MYSQL_VERSION}” 

進(jìn)階知識(了解)

VOLUME and EXPOSE 
存儲和網(wǎng)絡(luò)

RUN and CMD and ENTRYPOINT
RUN:執(zhí)行命令并創(chuàng)建新的Image Layer
CMD:設(shè)置容器啟動后默認(rèn)執(zhí)行的命令和參數(shù)
ENTRYPOINT:設(shè)置容器啟動時運(yùn)行的命令

Shell格式和Exec格式
RUN yum install -y vim
CMD echo ”hello docker”
ENTRYPOINT echo “hello docker”

Exec格式
RUN [“apt-get”,”install”,”-y”,”vim”]
CMD [“/bin/echo”,”hello docker”]
ENTRYPOINT [“/bin/echo”,”hello docker”]


通過shell格式去運(yùn)行命令,會讀取$name指令,而exec格式是僅僅的執(zhí)行一個命令,而不是shell指令
cat Dockerfile
    FROM centos
    ENV name Docker
    ENTRYPOINT [“/bin/echo”,”hello $name”]#這個僅僅是執(zhí)行echo命令,讀取不了shell變量
    ENTRYPOINT  [“/bin/bash”,”-c”,”echo hello $name']

CMD
容器啟動時默認(rèn)執(zhí)行的命令
如果docker run指定了其他命令(docker run -it [image] /bin/bash ),CMD命令被忽略
如果定義多個CMD,只有最后一個執(zhí)行

ENTRYPOINT
讓容器以應(yīng)用程序或服務(wù)形式運(yùn)行
不會被忽略,一定會執(zhí)行
最佳實踐:寫一個shell腳本作為entrypoint
COPY docker-entrypoint.sh /usr/local/bin
ENTRYPOINT [“docker-entrypoint.sh]
EXPOSE 27017
CMD [“mongod”]

[root@master home]# more Dockerfile
FROm centos
ENV name Docker
#CMD ['
/bin/bash','-c','echo hello $name']
ENTRYPOINT ['
/bin/bash','-c','echo hello $name”]

5、發(fā)布到倉庫

5.1 docker hub共有鏡像發(fā)布

docker提供了一個類似于github的倉庫docker hub,官方網(wǎng)站(需注冊使用)

https://hub./

# 注冊docker id后,在linux中登錄dockerhub
    docker login

# 注意要保證image的tag是賬戶名,如果鏡像名字不對,需要改一下tag
    docker tag chaoyu/centos-vim peng104/centos-vim
    # 語法是:  docker tag   倉庫名   peng104/倉庫名

# 推送docker image到dockerhub
    docker push peng104/centps-cmd-exec:latest

# 去dockerhub中檢查鏡像
# 先刪除本地鏡像,然后再測試下載pull 鏡像文件
    docker pull peng104/centos-entrypoint-exec

5.2 私有倉庫

docker hub 是公開的,其他人也是可以下載,并不安全,因此還可以使用docker registry官方提供的私有倉庫

用法詳解:

https://yeasy./docker_practice/repository/registry.html

# 1.下載一個docker官方私有倉庫鏡像
    docker pull registry
# 2.運(yùn)行一個docker私有容器倉庫
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry  registry
    -d 后臺運(yùn)行 
    -p  端口映射 宿主機(jī)的5000:容器內(nèi)的5000
    -v  數(shù)據(jù)卷掛載  宿主機(jī)的 /opt/data/registry :/var/lib/registry 
    registry  鏡像名
    /var/lib/registry  存放私有倉庫位置
# Docker 默認(rèn)不允許非 HTTPS 方式推送鏡像。我們可以通過 Docker 的配置選項來取消這個限制
# 3.修改docker的配置文件,讓他支持http方式,上傳私有鏡像
    vim /etc/docker/daemon.json 
    # 寫入如下內(nèi)容
    {
        'registry-mirrors': ['http://f1361db2.m.'],
        'insecure-registries':['192.168.11.37:5000']
    }
# 4.修改docker的服務(wù)配置文件
    vim /lib/systemd/system/docker.service
# 找到[service]這一代碼區(qū)域塊,寫入如下參數(shù)
    [Service]
    EnvironmentFile=-/etc/docker/daemon.json
# 5.重新加載docker服務(wù)
    systemctl daemon-reload
# 6.重啟docker服務(wù)
    systemctl restart docker
    # 注意:重啟docker服務(wù),所有的容器都會掛掉

# 7.修改本地鏡像的tag標(biāo)記,往自己的私有倉庫推送
    docker tag docker.io/peng104/hello-world-docker 192.168.11.37:5000/peng-hello
    # 瀏覽器訪問http://192.168.119.10:5000/v2/_catalog查看倉庫
# 8.下載私有倉庫的鏡像
    docker pull 192.168.11.37:5000/peng-hello

6、實例演示

編寫dockerfile,構(gòu)建自己的鏡像,運(yùn)行flask程序。

確保app.py和dockerfile在同一個目錄!

# 1.準(zhǔn)備好app.py的flask程序
    [root@localhost ~]# cat app.py
    from flask import Flask
    app=Flask(__name__)
    @app.route('/')
    def hello():
        return 'hello docker'
    if __name__=='__main__':
        app.run(host='0.0.0.0',port=8080)
    [root@master home]# ls
    app.py  Dockerfile

# 2.編寫dockerfile
    [root@localhost ~]# cat Dockerfile
    FROM python:2.7
    LABEL maintainer='溫而新'
    RUN pip install flask
    COPY app.py /app/
    WORKDIR /app
    EXPOSE 8080
    CMD ['python','app.py']

# 3.構(gòu)建鏡像image,找到當(dāng)前目錄的Dockerfile,開始構(gòu)建
    docker build -t peng104/flask-hello-docker .

# 4.查看創(chuàng)建好的images
    docker image ls

# 5.啟動此flask-hello-docker容器,映射一個端口供外部訪問
    docker run -d -p 8080:8080 peng104/flask-hello-docker

# 6.檢查運(yùn)行的容器
    docker container ls

# 7.推送這個鏡像到私有倉庫
    docker tag  peng104/flask-hello-docker   192.168.11.37:5000/peng-flaskweb
    docker push 192.168.11.37:5000/peng-flaskweb

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多