欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker容器狀態(tài)轉換管理命令實例詳解

 更新時間:2022年05月05日 15:22:28   作者:字母哥哥  
Docker容器只是一個運行于宿主操作系統(tǒng)host?OS上的應用進程,所以你需要一個鏡像來運行它,Docker鏡像以進程的方式運行時就叫做Docker容器,這篇文章主要給大家介紹了關于docker容器狀態(tài)轉換管理命令的相關資料,需要的朋友可以參考下

前言

docker容器有三種狀態(tài)運行、停止、暫停,鏡像可以創(chuàng)建、運行容器,鏡像和容器也可以轉換成tar壓縮包進行存儲。本文為大家介紹容器的狀態(tài)轉換命令及鏡像創(chuàng)建運行容器、tar包導入導出相關的命令及使用場景。

結合下文中的命令介紹來理解上面的這張圖。

一、從鏡像啟動容器

從docker鏡像啟動一個容器的語法如下,使用docker run命令。

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用options說明,docker createdocker run命令參數幾乎一致,只是docker run創(chuàng)建并運行容器,docker create只創(chuàng)建(可以docker ps -a查看到)不運行容器。

option作用
-d守護進程,后臺運行該容器
-v目錄映射,容器目錄掛載到宿主機目錄,格式:宿主機目錄:容器目錄
-p指定端口映射,格式:主機(宿主)端口:容器端口
-P隨機端口映射,容器內部端口隨機映射到主機的端口
–name nginx-zimug容器名字nginx-zimug
-m, --memory bytes設置容器使用內存最大值
-h, --hostname string指定容器的 hostname
–dns 8.8.8.8指定容器 dns 服務器8.8.8.8
-e JAVA_HOME=“路徑”設置環(huán)境變量,如JAVA_HOME
–rm容器退出時,刪除容器及容器目錄

示例一:在后臺(-d)運行一個名稱(–name)為nginx-zimug的容器,將容器的80端口映射到宿主機80端口

docker run -d --name nginx-zimug -p 80:80 nginx

示例二:如果不加-d會在Linux終端下輸出容器的標準輸入輸出日志,當退出終端時,容器停止運行。這種模式通常不用于生產,常用于調試容器。

docker run --rm --name nginx-zimug -p 80:80 nginx

--rm參數用于容器運行時停止之后,直接刪除容器,而不是讓容器進入stoped狀態(tài)。

示例三-v 表示宿主機目錄與容器目錄的映射關系

docker run -d -p 80:80 \
--name nginx-prod \
-v /root/nginx/html:/usr/share/nginx/html \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/logs:/var/log/nginx  nginx

二、查看容器與日志

docker ps //查看運行中running狀態(tài)的容器
docker ps –a //查看所有狀態(tài)的容器(包含running、paused、stopped)
docker container ls  //等同于docker ps
docker container ls –a //等同于docker ps –a

查看的結果如下:

CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS                    PORTS                               NAMES
1061ed186789   nginx     "/docker-entrypoint.…"   5 minutes ago   Up 5 minutes              0.0.0.0:80->80/tcp, :::80->80/tcp   nginx-zimug

  • CONTAINER ID :容器ID
  • IMAGE:鏡像名稱
  • COMMAND:容器內部軟件腳本啟動命令
  • CREATED: 容器創(chuàng)建的時間
  • STATUS:容器的運行狀態(tài)
  • PORTS: 容器與宿主機的端口映射關系
  • NAMES: 容器的名稱
docker logs 容器ID; //查看容器日志標準輸出

比如nginx服務的日志如下所示:

三、進入容器內部操作系統(tǒng)

有的時候我們通過docker psdocker logs的信息很難判斷容器內部服務的運行情況。這個時候我們就需要進入到容器內部操作系統(tǒng),使用下面的命令。

docker exec -it 容器ID /bin/bash

進入到容器內部操作系統(tǒng)之后,想查看什么信息,就和常規(guī)使用linux命令是一樣的。退出容器使用exit命令。

四、停止容器暫停容器

通過docker ps 找到處于運行狀態(tài)的容器id或容器名稱

docker stop 9be696a0c283 //停止正在運行容器
docker container stop nginx-zimug  //停止正運行容器(ID或Names)

執(zhí)行該命令后容器進入stoped狀態(tài),不再提供服務,不占用宿主機資源。stopped狀態(tài)的容器可以再次被啟動。

docker pause 容器名/容器ID;  //暫停容器服務
docker unpause 容器名/容器ID; //恢復容器服務

除了stop停止容器,還有一種方法是暫停容器服務,如上命令所示。被暫停的容器不再對外服務,但是仍然占用宿主機資源。這種方式并不常用!

五、啟動stopped狀態(tài)的容器

通過docker ps -a可以找到處于stopped狀態(tài)的容器信息。使用下面命令可以讓stopped狀態(tài)的容器再次進入運行狀態(tài)。

docker start 容器名/容器ID

不論容器處于什么狀態(tài),如果想重啟容器,可以使用下面的命令。

docker restart 容器名/容器ID   //重啟容器(根據ID或NAMES)

六、刪除容器

如果想要刪除容器,一定要讓容器處于stopped狀態(tài)才可以。

docker rm 容器ID

七、export與import

將容器導出為tar包,生成的是該容器的快照,復刻的是容器當前的linux系統(tǒng)環(huán)境

docker export nginx-zimug > nginx-zimug.tar

如下所示的命令,將tar包導入生成一個鏡像,該鏡像的命名名稱是new-nginx-zimug

docker import - new-nginx-zimug < nginx-zimug.tar

八、commit

假設我們有這樣一種場景,容器啟動之后發(fā)現一個配置文件參數寫錯了,然后通過docker exec -it進入容器內部對配置文件進行了修改。
我們已經介紹過,一旦容器發(fā)生重啟,針對容器所做的任何寫操作全部丟失。那么我們?yōu)榱藢⑷萜餍薷闹蟮臓顟B(tài)保存下來,可以使用commit將容器運行時快照,保存為本機的一個鏡像。

docker commit -a "zimug" -m "comment" nginx-zimug nginx:zimug

比如使用下面的命令將容器nginx-zimug保存為鏡像nginx:zimug

docker commit -a "zimug" -m "comment" nginx-zimug nginx:zimug

通過docker images查看commit產生的鏡像

# docker images
REPOSITORY        TAG       IMAGE ID       CREATED          SIZE
nginx             zimug     7e4e3219870e   8 seconds ago    142MB

九、查看容器配置及資源使用情況

查看容器配置信息,該命令會返回一個json格式信息,如網絡配置、環(huán)境變量配置、端口配置、數據卷配置等信息。

docker inspect <容器ID或容器名稱>

查看容器資源使用情況,使用docker stats命令,可以查看CPU使用率,內存使用率 、網絡IO、磁盤IO、進程號等信息。

# docker stats nginx-zimug
CONTAINER ID   NAME          CPU %     MEM USAGE / LIMIT    MEM %     NET I/O     BLOCK I/O     PIDS
ec6953bce17b   nginx-zimug   0.00%     1.41MiB / 990.9MiB   0.14%     656B / 0B   0B / 7.68kB   2

使用docker top命令可以查看容器內進程信息。如下問所示,一個master進程,一個worker進程。

# docker top nginx-zimug 
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                6169                6150                0                   10:27               ?                   00:00:00            nginx: master process nginx -g daemon off;
101                 6217                6169                0                   10:27               ?                   00:00:00            nginx: worker process

總結

到此這篇關于docker容器狀態(tài)轉換管理命令的文章就介紹到這了,更多相關docker容器狀態(tài)轉換命令內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解決docker訪問外部https數字證書問題

    解決docker訪問外部https數字證書問題

    這篇文章主要介紹了docker訪問外部https數字證書問題,為了解決證書驗證的問題,我們需要在構建 docker 鏡像的時候將 ca-certificates 根證書裝上,需要的朋友可以參考下
    2022-09-09
  • k8s部署docker容器的實現

    k8s部署docker容器的實現

    這篇文章主要介紹了k8s部署docker容器的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Docker服務器存儲資源池不足的問題解決

    Docker服務器存儲資源池不足的問題解決

    這篇文章主要給大家介紹了關于Docker服務器存儲資源池不足的問題解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 使用docker部署dubbo項目的方法步驟

    使用docker部署dubbo項目的方法步驟

    這篇文章主要介紹了使用docker部署dubbo項目的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 常用的Docker基本命令及用法匯總

    常用的Docker基本命令及用法匯總

    Docker是一個用了一種新穎方式實現的超輕量虛擬機,在實現的原理和應用上還是和VM有巨大差別,專業(yè)的叫法是應用容器(Application Container)。今天給大家匯總介紹15個常用的docker命令以及用法
    2016-11-11
  • 詳解docker國內鏡像拉取和鏡像加速registry-mirrors配置修改

    詳解docker國內鏡像拉取和鏡像加速registry-mirrors配置修改

    由于國內訪問直接訪問Docker hub網速比較慢,拉取鏡像的時間就會比較長。一般我們會使用鏡像加速或者直接從國內的一些平臺鏡像倉庫上拉取
    2017-05-05
  • 如何打jar包為Docker鏡像并部署

    如何打jar包為Docker鏡像并部署

    這篇文章主要介紹了打jar包為Docker鏡像并部署,通過將應用程序打包為Docker鏡像,并在容器中運行,可以提供更高的靈活性、可移植性和可靠性,簡化應用程序的部署和管理,提升開發(fā)和運維效率,降低系統(tǒng)運行成本,需要的朋友可以參考下
    2023-11-11
  • docker+nextcloud搭建個人云存儲系統(tǒng)的實現

    docker+nextcloud搭建個人云存儲系統(tǒng)的實現

    這篇文章主要介紹了docker+nextcloud搭建個人云存儲系統(tǒng)的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 使用Docker部署war包項目的實現

    使用Docker部署war包項目的實現

    這篇文章主要介紹了使用Docker部署war包項目的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Docker動態(tài)給容器Container暴露端口操作

    Docker動態(tài)給容器Container暴露端口操作

    這篇文章主要介紹了Docker動態(tài)給容器Container暴露端口操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論