国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【docker】容器的運(yùn)行、停止、查看等基本操作

這篇具有很好參考價(jià)值的文章主要介紹了【docker】容器的運(yùn)行、停止、查看等基本操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

容器與鏡像的區(qū)別

image鏡像

  • Docker image是一個(gè)read-only文件,位于磁盤上
  • 這個(gè)文件包含文件系統(tǒng),源碼,庫文件,依賴,工具等一些運(yùn)行application所需要的文件
  • 可以理解成一個(gè)模板
  • docker image具有分層的概念

container容器

  • 一個(gè)運(yùn)行中的docker image,位于內(nèi)存中
  • 實(shí)質(zhì)是復(fù)制image并在image最上層加上一層read-write的層(稱之為container layer,容器層)
  • 基于同一個(gè)image可以創(chuàng)建多個(gè)container
    【docker】容器的運(yùn)行、停止、查看等基本操作,CI/CD/CM,docker,k8s,容器,鏡像,podman

容器的基本操作

容器的基本操作都是命令docker container開頭,大部分情況下可以簡(jiǎn)寫為docker,例如docker container run可以簡(jiǎn)寫為docker run。

下面是docker container開頭的命令列表:

$ docker container --help

Usage:  docker container COMMAND

Manage containers

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  inspect     Display detailed information on one or more containers
  kill        Kill one or more running containers
  logs        Fetch the logs of a container
  ls          List containers
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  prune       Remove all stopped containers
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  run         Run a command in a new container
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  wait        Block until one or more containers stop, then print their exit codes

docker container create

docker container create只是新建一個(gè)容器,并不啟動(dòng)一個(gè)容器。

$ docker container create --name nginx -p 8899:80 nginx
5932d5e624f7cced52fb8f9282a01c5a112fba249236d028733c424ec7099a6e

docker container run

docker container run新建并啟動(dòng)一個(gè)容器。

$ docker container run -d --name nginx -p 8899:80 nginx
ee86be635d8b0ff99e36796191da4ee5c34241f37dc0f66c8b21e2a85517e9de

選項(xiàng):

  • -d:表示以detach模式后臺(tái)運(yùn)行
  • –name:為容器指定一個(gè)名字
  • -p:端口映射,宿主機(jī)端口為8899映射到docker內(nèi)端口80

docker container ls

docker container ls查看啟動(dòng)的容器,也可以簡(jiǎn)寫為docker ps或者docker container ps。

$ docker container ls
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                   NAMES
ee86be635d8b   nginx     "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes   0.0.0.0:8899->80/tcp, :::8899->80/tcp   nginx

選項(xiàng):

  • -a:列出所有的容器(包括正在運(yùn)行的和已停止運(yùn)行的)
  • -l:顯示最近創(chuàng)建的容器
  • -n:顯示最近創(chuàng)建的n個(gè)容器
  • -q:只顯示容器ID

docker container stop

docker container stop停止運(yùn)行中的容器,后面需要帶上容器的名稱或者ID,ID可以只寫前面幾位,不需要寫全,能根據(jù)ID前綴找到對(duì)應(yīng)的唯一的容器即可,其他帶ID的命令也類似。

$ docker container stop ee86be635d8b
ee86be635d8b

$ docker container stop nginx
nginx

$ docker container stop ee8
ee8

docker container start

docker container start啟動(dòng)已停止的容器。

$ docker container start nginx
nginx

docker container restart

docker container restart重啟運(yùn)行中的容器。

$ docker container restart nginx
nginx

docker container kill

docker container kill強(qiáng)制停止運(yùn)行中的容器。

$ docker container kill nginx
nginx

docker container rm

docker container rm可以刪除容器。

$ docker container rm nginx
nginx

如果容器的狀態(tài)是正在運(yùn)行中是不可以刪除的,此時(shí)可以加上-f選項(xiàng)來強(qiáng)制刪除運(yùn)行中的容器。

docker container logs

docker container logs可以用來查看容器的日志。

$ docker container logs -f nginx
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
。。。。。。

如果要實(shí)時(shí)的日志,可以使用-f選項(xiàng),類似于tail -f命令。

docker container top

docker container top可以用來查看容器內(nèi)的進(jìn)程情況,類似于top命令。

$ docker container top nginx
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                6083                6063                0                   19:37               pts/0               00:00:00            nginx: master process nginx -g daemon off;
systemd+            6144                6083                0                   19:37               pts/0               00:00:00            nginx: worker process
systemd+            6145                6083                0                   19:37               pts/0               00:00:00            nginx: worker process
systemd+            6146                6083                0                   19:37               pts/0               00:00:00            nginx: worker process
systemd+            6147                6083                0                   19:37               pts/0               00:00:00            nginx: worker process
systemd+            6148                6083                0                   19:37               pts/0               00:00:00            nginx: worker process
systemd+            6149                6083                0                   19:37               pts/0               00:00:00            nginx: worker process
systemd+            6150                6083                0                   19:37               pts/0               00:00:00            nginx: worker process
systemd+            6151                6083                0                   19:37               pts/0               00:00:00            nginx: worker process

docker container inspect

docker container inspect查看容器的詳細(xì)信息,如鏡像信息、環(huán)境變量、網(wǎng)絡(luò)等。

$ docker container inspect nginx
。。。。。。

docker container exec

docker container exec可以進(jìn)入到運(yùn)行中的容器并執(zhí)行一個(gè)命令。

$ docker container exec -it nginx /bin/bash
root@11f5e64bb119:/#

docker container attach

docker container attach同樣可以進(jìn)入到運(yùn)行中的容器并執(zhí)行一個(gè)命令。

docker container attach進(jìn)入容器然后退出會(huì)導(dǎo)致容器停止,而docker container exec進(jìn)入容器后退出不會(huì)導(dǎo)致容器停止,這是兩者的區(qū)別。

$ docker container attach nginx

docker container cp

docker container cp用來在宿主機(jī)和容器之間拷貝文件。

從宿主機(jī)拷貝文件到容器中:

$ docker container cp test.txt nginx:/home

從容器中拷貝文件到宿主機(jī):

$ docker container cp nginx:/docker-entrypoint.sh .

docker container export

docker container export是將一個(gè)容器導(dǎo)出為一個(gè)壓縮的鏡像。

$ docker container export nginx > nginx.tar.gz

后續(xù)如果要將這個(gè)壓縮的鏡像導(dǎo)入要使用docker image import命令。

docker container commit

docker container commit是將一個(gè)容器提交為為一個(gè)鏡像。

$ docker container commit -m "nginx v1.0" nginx nginx:v1.0
sha256:0b36bf0f81dda62c4ced29e84d0b44a7c812bb643b2c1d898df0b8897f58c964

docker container diff

docker container diff命令用于檢查容器文件系統(tǒng)上文件或目錄的更改。

$ docker container diff nginx
C /run
A /run/nginx.pid
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/uwsgi_temp
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
C /etc
C /etc/nginx
C /etc/nginx/conf.d
C /etc/nginx/conf.d/default.conf

docker container pause

docker container pause暫停一個(gè)或多個(gè)容器內(nèi)的所有進(jìn)程。

$ docker container pause nginx
nginx

使用docker container ls可以看到容器的狀態(tài)為pause。

docker container unpause

docker container unpause取消暫停一個(gè)或多個(gè)容器內(nèi)的所有進(jìn)程。

$ docker container unpause nginx
nginx

此時(shí)容器的狀態(tài)又變?yōu)?code>UP。

docker container rename

docker container rename重命名容器。

$ docker container rename nginx ng

docker container port

docker container port列出容器的端口映射或容器的特定映射。

$ docker container port nginx
80/tcp -> 0.0.0.0:8899
80/tcp -> :::8899

docker container update

docker container update可以更新一個(gè)或多個(gè)容器的配置,可以更新CPU、內(nèi)存等配置信息。

具體可以更新的選項(xiàng)如下:

$ docker container update --help

Usage:  docker container update [OPTIONS] CONTAINER [CONTAINER...]

Update configuration of one or more containers

Options:
      --blkio-weight uint16        Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
      --cpu-period int             Limit CPU CFS (Completely Fair Scheduler) period
      --cpu-quota int              Limit CPU CFS (Completely Fair Scheduler) quota
      --cpu-rt-period int          Limit the CPU real-time period in microseconds
      --cpu-rt-runtime int         Limit the CPU real-time runtime in microseconds
  -c, --cpu-shares int             CPU shares (relative weight)
      --cpus decimal               Number of CPUs
      --cpuset-cpus string         CPUs in which to allow execution (0-3, 0,1)
      --cpuset-mems string         MEMs in which to allow execution (0-3, 0,1)
      --kernel-memory bytes        Kernel memory limit
  -m, --memory bytes               Memory limit
      --memory-reservation bytes   Memory soft limit
      --memory-swap bytes          Swap limit equal to memory plus swap: '-1' to enable unlimited swap
      --pids-limit int             Tune container pids limit (set -1 for unlimited)
      --restart string             Restart policy to apply when a container exits

下面的例子可以更改容器的重啟策略:

$ docker container update --restart=no nginx
nginx

參數(shù)說明:

  • no:默認(rèn)策略,在容器退出時(shí)不重啟容器
  • on-failure:在容器非正常退出時(shí)(退出狀態(tài)非0),才會(huì)重啟容器
  • on-failure:3:在容器非正常退出時(shí)重啟容器,最多重啟3次
  • always:在容器退出時(shí)總是重啟容器
  • unless-stopped:在容器退出時(shí)總是重啟容器,但是不考慮在Docker守護(hù)進(jìn)程啟動(dòng)時(shí)就已經(jīng)停止了的容器

docker container wait

docker container wait阻止一個(gè)或多個(gè)容器停止,然后打印退出代碼。

$ docker container wait nginx
0

docker container prune

docker container prune刪除所有停止的容器。

$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
5932d5e624f7cced52fb8f9282a01c5a112fba249236d028733c424ec7099a6e

容器運(yùn)行的兩種交互模式

attach模式

例如:

$ docker container run -p 80:80 nginx

通過這種方式創(chuàng)建的容器,容器會(huì)在前臺(tái)執(zhí)行。

容器的輸入輸出結(jié)果會(huì)反映到本地端,本地端的輸入輸出也會(huì)反映到容器,例如能在終端看到網(wǎng)頁瀏覽器的 log,ctrl+c會(huì)讓容器停止。

一般情況不推薦使用attach模式。

detach模式

例如:

$ docker container run -d -p 80:80 nginx
73773e7f0d409e4fba9b1ca6b0c0f2eebab7fa9b030dfe4d2c1cf2865c7275bd

通過這種方式創(chuàng)建的容器會(huì)在后臺(tái)執(zhí)行,命令行打印完容器的ID就結(jié)束了。

連接容器的shell

docker container run -it創(chuàng)建一個(gè)容器并進(jìn)入交互式模式:

$ docker container run -it nginx /bin/bash
root@7faafc56bd4f:/# exit
exit

如果帶了-d參數(shù),-it就不會(huì)生效。

docker container exec -it在一個(gè)已經(jīng)運(yùn)行的容器里執(zhí)行一個(gè)額外的command:文章來源地址http://www.zghlxwxcb.cn/news/detail-683784.html

$ docker container run -d nginx
06d4f86b592e417c876bc66bd62f5ddbd3aeaa1c8c6dd93670ef73151f32a851

$ docker container exec -it 06 bash
root@06d4f86b592e:/#

批量刪除容器

$ docker container rm -f $(docker container ls -aq)
06d4f86b592e
7faafc56bd4f

docker container run背后發(fā)生了什么?

$ docker container run -d --publish 80:80 --name webhost nginx
  1. 在本地查找是否有nginx這個(gè)image鏡像,但是沒有發(fā)現(xiàn)
  2. 去遠(yuǎn)程的image registry查找nginx鏡像(默認(rèn)的registry是Docker Hub)
  3. 下載最新版本的nginx鏡像 (nginx:latest 默認(rèn))
  4. 基于nginx鏡像來創(chuàng)建一個(gè)新的容器,并且準(zhǔn)備運(yùn)行
  5. docker engine分配給這個(gè)容器一個(gè)虛擬IP地址
  6. 在宿主機(jī)上打開80端口并把容器的80端口轉(zhuǎn)發(fā)到宿主機(jī)上
  7. 啟動(dòng)容器,運(yùn)行指定的命令(這里是一個(gè)shell腳本去啟動(dòng)nginx)

到了這里,關(guān)于【docker】容器的運(yùn)行、停止、查看等基本操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Docker基本操作之?dāng)?shù)據(jù)卷(容器數(shù)據(jù)管理)

    您的“關(guān)注”和“點(diǎn)贊”,是認(rèn)可,是支持,是動(dòng)力。 如意見相佐,可留言。 本人必將竭盡全力試圖做到準(zhǔn)確和全面,終其一生進(jìn)行修改補(bǔ)充更新。 本文首發(fā)在IT羊資源網(wǎng)。 《IT羊資源網(wǎng)》,網(wǎng)址:https://www.ityangzy.com IT羊資源網(wǎng)是IT世界的羊群! 一個(gè)致力于科技、信息技術(shù)

    2024年02月13日
    瀏覽(18)
  • 【linux】docker基本概念和基礎(chǔ)指令操作(鏡像、容器)

    docker 鏡像 images xxxx(名稱):xxxx(版本號(hào)) 每一個(gè)image可以生成若干個(gè) 容器 (container),所有用相同鏡像生成的容器環(huán)境完全一樣 每一個(gè)容器都是一個(gè)完全獨(dú)立的云端服務(wù)器

    2024年02月01日
    瀏覽(53)
  • Docker - 基本概念、與虛擬機(jī)的區(qū)別、架構(gòu)、鏡像操作、容器操作、數(shù)據(jù)卷掛載

    Docker - 基本概念、與虛擬機(jī)的區(qū)別、架構(gòu)、鏡像操作、容器操作、數(shù)據(jù)卷掛載

    目錄 一、對(duì) Docker? 的理解 1、Docker 基本概念 2、Docker 與 虛擬機(jī)的區(qū)別 3、何為鏡像和容器? 4、Docker 主要架構(gòu) 二、Docker 基本操作 1、Docker 鏡像操作 2、案例(鏡像):去 DockerHub 搜索并拉取一個(gè) Nginx 鏡像,打包后刪除鏡像,重新加載 .tar 文件 3、Docker 容器操作 1.docker run(啟

    2024年04月13日
    瀏覽(25)
  • Docker基本操作之刪除容器Container和刪除鏡像IMAGE

    1.1 刪除容器Container語法 1.2 刪除容器Container 操作 刪除容器Container使用docker rm 命令,例如刪除mysql容器: 1.3 docker ps docker ps 語法: docker ps 各個(gè)參數(shù)的說明: 2.1 刪除鏡像IMAGE語法 刪除鏡像IMAGE使用 docker rmi 命令,例如刪除 mysql 鏡像: 2.2 docker images 各個(gè)參數(shù)的說明: 2.3 強(qiáng)制刪

    2024年02月14日
    瀏覽(24)
  • docker基本操作:安裝部署、設(shè)置ssh遠(yuǎn)程登入、配置docker鏡像文件并創(chuàng)建docker容器

    Docker 是一個(gè)流行的應(yīng)用程序容器化和部署平臺(tái),允許開發(fā)人員輕松地創(chuàng)建、部署和管理容器中的應(yīng)用程序。 請(qǐng)注意運(yùn)行此命令需要 root 或 sudo 權(quán)限,因此可能需要在命令前加上 sudo 并輸入密碼。 一、更新系統(tǒng)工具(ubuntu) 安裝docker 查看docker版本 啟動(dòng)docker服務(wù) 二、一些基本

    2024年02月04日
    瀏覽(23)
  • 【Java】微服務(wù)——Docker容器部署(docker安裝,docker配置鏡像加速,DockerHub,docker基本操作,Dockerfile自定義鏡像.Docker-Compose)

    【Java】微服務(wù)——Docker容器部署(docker安裝,docker配置鏡像加速,DockerHub,docker基本操作,Dockerfile自定義鏡像.Docker-Compose)

    微服務(wù)雖然具備各種各樣的優(yōu)勢(shì),但服務(wù)的拆分通用給部署帶來了很大的麻煩。 分布式系統(tǒng)中,依賴的組件非常多,不同組件之間部署時(shí)往往會(huì)產(chǎn)生一些沖突。 在數(shù)百上千臺(tái)服務(wù)中重復(fù)部署,環(huán)境不一定一致,會(huì)遇到各種問題 1.1.1.應(yīng)用部署的環(huán)境問題 大型項(xiàng)目組件較多,運(yùn)

    2024年02月04日
    瀏覽(32)
  • 【Docker 】Docker 客戶端,容器使用,啟動(dòng)容器,啟動(dòng)已停止運(yùn)行的容器,停止一個(gè)容器,進(jìn)入容器

    【Docker 】Docker 客戶端,容器使用,啟動(dòng)容器,啟動(dòng)已停止運(yùn)行的容器,停止一個(gè)容器,進(jìn)入容器

    作者簡(jiǎn)介: 辭七七,目前大一,正在學(xué)習(xí)C/C++,Java,Python等 作者主頁: 七七的個(gè)人主頁 文章收錄專欄: 七七的閑談 歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!???? docker 客戶端非常簡(jiǎn)單 ,我們可以直接輸入 docker 命令來查看到 Docker 客戶端的所有命令選項(xiàng)。 可以通過命令 dock

    2024年02月11日
    瀏覽(57)
  • 在Docker守護(hù)進(jìn)程停機(jī)期間保持容器運(yùn)行(即重啟Docker時(shí),正在運(yùn)行的容器不會(huì)停止)

    ? 在默認(rèn)情況下,當(dāng) Docker 守護(hù)進(jìn)程終止時(shí),它將關(guān)閉正在運(yùn)行的容器。不過,我們可以配置該守護(hù)進(jìn)程,以便在該守護(hù)進(jìn)程不可用時(shí)容器仍在運(yùn)行。這種功能稱為實(shí)時(shí)恢復(fù)。實(shí)時(shí)還原選項(xiàng)有助于減少由于守護(hù)進(jìn)程崩潰、計(jì)劃中斷或升級(jí)而導(dǎo)致的容器停機(jī)時(shí)間。 Docker官方相關(guān)

    2024年02月03日
    瀏覽(95)
  • 【c++】 list容器的基本操作與接口

    【c++】 list容器的基本操作與接口

    List容器是一個(gè)雙向鏈表。 采用動(dòng)態(tài)存儲(chǔ)分配,不會(huì)造成內(nèi)存浪費(fèi)和溢出 鏈表執(zhí)行插入和刪除操作十分方便,修改指針即可,不需要移動(dòng)大量元素 鏈表靈活,但是空間和時(shí)間額外耗費(fèi)較大 list構(gòu)造函數(shù) list數(shù)據(jù)元素插入和刪除操作 list大小操作 list賦值操作 l ist數(shù)據(jù)的存取 li

    2024年02月17日
    瀏覽(28)
  • 【Docker】2、Docker 基本操作【鏡像操作】

    【Docker】2、Docker 基本操作【鏡像操作】

    ?? 鏡像名稱一般由兩部分組成: [repository]:[tag] ?? 若沒有指定 tag ,默認(rèn)是 latest (最新版本的鏡像) 更多命令: docker --help 從 DockerHub 拉取 nginx 鏡像 ??① 訪問 DockerHub 官網(wǎng)【https://hub.docker.com/】 ??② 搜索 nginx ??③ 執(zhí)行拉取鏡像的命令 ??④ 查看所有鏡像 ?? ① 把

    2024年02月06日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包