<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 1.容器操作 ### 1.1.運行容器 ``` docker run -i -t ubuntu /bin/bash -i:表示容器中的STDIN是開啟的 -t:分配偽TTY 只有在指定的/bin/bash命令處于運行狀態的時候,容器才會處于運行狀態。一旦退出容器,/bin/bash命令也就結束了,容器隨之停止。 ``` ![](https://img.kancloud.cn/2a/5a/2a5a12d887f4edf747ae91362b9a3667_749x49.png) ### 1.2.容器命名 創建容器時會隨機生成一個名稱,也可以使用`--name`參數指定容器名。 ``` docker run --name container_name -i -t ubuntu /bin/bash ``` ![](https://img.kancloud.cn/9f/8d/9f8de032a0011acc47fe6406c6e1501e_1169x142.png) ### 1.3.重新啟動已停止的容器 ``` // 重啟 docker start ubuntu_dev 或 docker start container_id ``` 容器重新啟動后運行一個交互式會話shell,可以用docker attach 命令重新附著到該容器的會話上。 ``` docker attach ubuntu_dev ``` ![](https://img.kancloud.cn/0a/49/0a491902d99ad01a0115dcdcc7249650_1060x189.png) ### 1.4.創建守護式容器 ``` docker run --name daemon_dave -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1; done" -d:容器會在后臺運行。 -c:在容器里運行一個while循環,每隔一秒打印hello world。 ``` ``` // docker logs 獲取容器的日志 docker logs daemon_dave // -f參數來監控Docker的日志 docker logs -f daemon_dave // 獲取最后5行內容 docker logs --tail 5 daemon_dave // 跟蹤最新日志 docker logs --tail 0 -f daemon_dave // -t 給日志加上時間戳 docker logs -ft daemon_dave ``` ![](https://img.kancloud.cn/ef/27/ef278bbe42420a0bcdce9c655eafaff6_544x215.png) ``` // 查看容器內的進程 docker top daemon_dave ``` ![](https://img.kancloud.cn/d8/43/d843371c93ecd3b12e2ff67d5e71a57d_844x187.png) ``` // 在容器內部運行進程,在容器內部創建一個文件 docker exec -d daemon_dave touch /etc/test_file // 在容器內創建一個新的bash會話 docker exec -t -i daemon_dave /bin/bash ``` ### 1.5.自動重啟容器 ``` docker run --restart=always --name ubuntu_dev -d ubuntu /bin/bash --restart:會檢查容器的退出代碼,重啟容器,默認不會自動重啟 --restart=always:無論容器的退出代碼是什么,都會自動重啟。 --restart=on-failure:當容器的退出代碼是0時才會自動重啟 --restart=on-failure:5:當容器退出代碼非0時,自動重啟5次。 ``` ### 1.6.其他常用命令 ``` // 刪除容器 docker rm container_id 或 docker rm names // 刪除所有容器 docker rm `docker ps -a -q` -q:返回容器ID // 查看正在運行的容器 docker ps // 查看所有容器 docker ps -a // 獲取容器信息,包括名稱、命令、網絡配置等。 docker inspect names -f 或者--fromat參數指定查詢信息 docker inspect --format='{{ .State.Running }}' names // 查看容器啟動時的完整Command docker ps -a --no-trunc ``` ### 1.7.構建鏡像 `docker commit`(不推薦) ``` // 創建一個需要定制的容器 docker run -it ubuntu /bin/bash // 在容器內執行 apt-get -y update apt-get install apache2 // 退出容器執行docker commit docker commit container_id sunlightlei/apache2 // 查看剛剛創建的容器的ID docker ps -l -q // 可以添加描述,使用方法類似git提交 docker commit -m="first commit" --author="sunl" container_id sunlightlei/apache2 ``` `Dockerfile`(推薦) ``` // 創建工作目錄 mkdir workspace && cd workspace // 編寫Dockerfile vi Dockerfile # Version: 0.0.1 FROM ubuntu MAINTAINER sunl "*****@**.com" RUN apt-get update RUN apt-get install -y nginx RUN echo 'Hi, I am in your container' > /usr/share/nginx/html/index.html EXPOSE 80 // 構建鏡像 docker run build -t="sunlightlei/nginx" // 構建鏡像帶標簽 docker run build -t="sunlightlei/nginx:v1" ``` **構建緩存** 由于每一步的構建過程都會將結果提交為鏡像,之前的鏡像層看做緩存。所以如果第4步出了問題,重新構建時將從這里開始。 如果不用緩存,使用`--no-cache`。 **構建緩存可以實現簡單的Dockerfile模板** ### 1.8.從新鏡像啟動容器 ``` docker run -d -p 80 --name webserver sunlightlei/nginx -g "daemon off;" // 查看端口映射情況 docker ps -l // 將容器內的80端口綁定的宿主機的指定端口上 docker run -d -p 8080:80 --name webserver sunlightlei/nginx -g "daemon off;" // 將容器內的80端口綁定到宿主機的127.0.0.1這個IP的80端口上 docker run -d -p 127.0.0.1:80:80 --name webserver sunlightlei/nginx -g "daemon off;" // 可以通過在端口綁定時綁定使用/udp后綴來指定UDP端口 // 使用-P參數,可以對外開放Dockerfile中的EXPOSE指令中設置的所有端口。綁定的宿主機一個隨機端口。 docker run -d -P --name webserver sunlightlei/nginx -g "daemon off;" ``` ### 1.9.容器的生命周期 容器的生命周期為5種: 1. created:初建狀態 2. running:運行狀態 3. stopped:停止狀態 4. paused: 暫停狀態 5. deleted:刪除狀態 通過docker create 命令生成的容器狀態為初建狀態; 初建狀態通過docker start轉換為運行狀態; 運行狀態通過docker stop轉換為停止狀態; 處于停止狀態的容器通過docker start轉換為運行狀態; 運行狀態的容器通過docker pause轉換為暫停狀態; 暫停狀態通過docker unpause 轉換為運行狀態。 四態容器都可以刪除。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看