1. 程式人生 > >容器Docker學習系列九~生命週期管理命令

容器Docker學習系列九~生命週期管理命令

我們前面已經學習了本地容器操作以及版本資訊管理,複製提交等容器命令。但是對於怎麼啟動執行或者操作容器還不是很清楚,今天就來學習下整個容器週期的操作從啟動,到停止一整圈的命令掌握。當然還是小步快走,一個一個的嘗試學習。

run

run命令是用來建立一個容器並且啟動他。

語法糖 docker run [OPTIONS] IMAGE[tag]

OPTIONS[可選的]:在這裡列舉幾個常用的引數,其他引數可以去官網查詢
- -i: 以互動模式執行容器,通常與 -t 同時使用;
- -t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
- –name=”test-redis”: 為容器指定一個名稱;
- -d: 後臺執行容器,並返回容器ID;
- -env-file=[]: 從指定檔案讀入環境變數;
- -P : 系統自動的隨意指定埠。
- -p: 指定埠對映

docker run   -it  --name test-redis -d redis 

docker@ubuntu:~$ docker run -it --name test-redis -d redis 
573f7d98f746465d7498b384f19b5d5a0506f55125e433c30ea3a02060d907c2
docker@ubuntu:~$ docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS
NAMES 573f7d98f746 redis "docker-entrypoint.s…" 6 seconds ago Up 5 seconds 6379/tcp test-redis docker@ubuntu:~$

start/stop/restart

這三個命令式掌握啟動,停止,重啟的命令。

語法糖就是docker start/stop/restart + docker容器的名字。
列子:

docker start  test-redis
docker stop test-redis
docker restart test-redis

docker@ubuntu
:~$ docker stop test-redis test-redis docker@ubuntu:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES docker@ubuntu:~$ docker start rest-redis Error response from daemon: No such container: rest-redis Error: failed to start containers: rest-redis docker@ubuntu:~$ docker start test-redis test-redis docker@ubuntu:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 573f7d98f746 redis "docker-entrypoint.s…" 2 minutes ago Up 11 seconds 6379/tcp test-redis docker@ubuntu:~$ docker stop test-redis test-redis docker@ubuntu:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES docker@ubuntu:~$ docker restart test-redis test-redis docker@ubuntu:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 573f7d98f746 redis "docker-entrypoint.s…" 2 minutes ago Up 2 seconds 6379/tcp test-redis

kill

我們在Linux系統中都知道,會有kill這個命令,同樣的在我們容器命令操作裡面也有kill相關的命令。

語法糖 docker kill [OPTONS] CONTAINER [容器]

OPTIONS:可選引數項。
- –s :向容器傳送一個訊號,殺死容器的訊號
列子:

docker kill -s KILL test-redis
docker@ubuntu:~$ docker kill --help

Usage:  docker kill [OPTIONS] CONTAINER [CONTAINER...]

Kill one or more running containers

Options:
  -s, --signal string   Signal to send to the container (default "KILL")
docker@ubuntu:~$ docker kill -s KILL  test-redis 
test-redis
docker@ubuntu:~$ docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

rm

刪除一個容器,當我們容器修改命令造成容器不可恢復性錯誤的時候,一般會把現在的容器刪除,當然啟動容器的時候要把資料外掛。這樣再次啟動的時候還會獲取到資料。刪除的是已經建立的容器,不是我們下載下來的容器映象

語法糖 docker rm [OPTIONS] CONTAINER [容器名字]

OPTIONS說明:
- -f :通過SIGKILL訊號強制刪除一個執行中的容器
- -l :移除容器間的網路連線,而非容器本身
- -v :-v 刪除與容器關聯的卷

docker rm -f test-redis

[email protected]:~$ docker run -it --name test-redis -d redis 
docker: Error response from daemon: Conflict. The container name "/test-redis" is already in use by container "573f7d98f746465d7498b384f19b5d5a0506f55125e433c30ea3a02060d907c2". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
[email protected]:~$ docker rm -f test-redis 
test-redis
[email protected]:~$ docker run -it --name test-redis -d redis 
04d57e7380bf130ecaeca455340a9f18e3c40679c299a5f9b12b8842709e4305
[email protected]:~$ docke ps 

Command 'docke' not found, did you mean:

  command 'docky' from deb docky
  command 'docker' from deb docker.io

Try: sudo apt install <deb name>

[email protected]:~$ docker run -it --name test-redis -d redis 
docker: Error response from daemon: Conflict. The container name "/test-redis" is already in use by container "04d57e7380bf130ecaeca455340a9f18e3c40679c299a5f9b12b8842709e4305". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.

pause/unpause命令

語法糖 docker pause [OPTIONS] 容器名字

docker pause test-redis
docker unpause test-redis

create

建立一個新的容器但是不啟動容器。

語法糖 docker create [options] image [tag]

具體操作語法與run操作一樣,可以參考
列子:

docker create --name test-redis1 redis(存在的映象檔案) 

docker@ubuntu:~$ docker create --name test-redis1 redis
f93712639869006ad3fe1440edb1a5c9570b70e36092d39f2ba94e275bab9db8
docker@ubuntu:~$ docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS               NAMES
04d57e7380bf        redis               "docker-entrypoint.s…"   About a minute ago   Up About a minute   6379/tcp            test-redis

相關推薦

容器Docker學習系列~生命週期管理命令

我們前面已經學習了本地容器操作以及版本資訊管理,複製提交等容器命令。但是對於怎麼啟動執行或者操作容器還不是很清楚,今天就來學習下整個容器週期的操作從啟動,到停止一整圈的命令掌握。當然還是小步快走,一個一個的嘗試學習。 run run命令是用來建立一個容器

Docker 命令詳解-容器生命週期管理(RUN)

一、概況 run: 建立一個新的容器並執行一個命令; 二、RUN詳情 2.1 語法 $ sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 具體版本特性,可通過命令檢視引數說明 $ sudo docke

ssm(2-4)Spring IOC 容器對 Bean 的生命週期管理執行順序

1.測試如下註解或屬性對Spring IOC 容器的生命週期的管理 @Bean(value="p1",destroyMethod = "destroy",initMethod = "init") <bean id="car" class="spring5.Car" init-method="init

Docker | 學習系列 (五)Docker容器常用命令

本節我們來討論Docker容器的常用命令。 新建並啟動容器[重要]使用以下docker run 命令即可新建並啟動一個容器。該命令是我們最常用的命令了,它有很多選項,下面筆者列舉一些常用的選項。① -d選項:表示後臺執行② -P選項:隨機埠對映③ -p選項:指定埠對映,有以下四種格式。ip:h

【Web容器】Tomcat原始碼分析(3)-生命週期管理

前言   從server.xml檔案解析出來的各個物件都是容器,比如:Server、Service、Connector等。這些容器都具有新建、初始化完成、啟動、停止、失敗、銷燬等狀態。tomcat的實現提供了對這些容器的生命週期管理,本文將通過對Tomcat7.0的

kubernetes之容器生命週期管理

大多數程式語言框架都會提供元件生使週期管理鉤子,與此類似,kubernetes通過容器的生命週期鉤子管理容器。首先要為鉤子註冊處理控制代碼,當容器生命週期發生變化時,如建立、銷燬時,觸發為鉤子註冊的控制代碼的執行。 當前,kubernetes支援的鉤子有兩種: P

SpringCloud | Docker 學習系列 | Kubernetes 學習 將SpringCloud Eureka 服務註冊與發現部署到docker中並放入到Kubernetes中管理

一、前言      很早之前就想寫這篇文章,終於有點時間來填坑了。之前都是在公司伺服器上搭建的,這次在自己的電腦上搭建好了環境,再來完善這篇部落格。二、環境準備     此次環境已經搭建完畢     kubernetes  v1.9.0     docker 17.03.2-

Docker學習)Volumn容器間共享資料

Docker學習(九)Volumn容器間共享資料 volume是什麼 volume在英文中是容量的意思, 在docker中是資料卷的意思,是用來儲存資料的容器 為什麼要進行資料共享 在叢集中有多臺tomcat,對於叢集中的tomcat部署的程式碼是同一份程式碼的副本,如果頁面檔案發生變化,意味著每個

Docker學習系列(一):windows下安裝docker

阻止 statistic pro nta 雙擊 copyright ner notebook 現在 本文目錄如下: windows按照docker的基本要求 具體安裝步驟 開始使用 安裝遠程連接工具連接docker 安裝中遇到的問題 Docker的更新 Dock

linux系統命令學習系列-用戶組管理

圖片 系列 公眾 image 系統命令 參數 組管理 post AD 先復習一下上節內容: 設置密碼命令passwd 用戶信息修改命令usermod 用戶刪除命令userdel 作業:修改user1的用戶id為505,家目錄到admin,用戶組為admin,最後刪除use

Docker深入淺出系列教程——鏡像管理【外加視頻】

uil 鏡像 alt GC 靜態 roo tag rest user 我是架構師張飛洪,鉆進浩瀚代碼,十年有余,人不堪其累,吾不改其樂。如果你和我的看法不一樣,請關註我的頭條號,我們一起奇聞共賞,疑義相析。 接下來來講解Docker三大組件之一的鏡像,如果說鏡像是

docker學習系列-jdk基礎映象製作

準備一臺安裝有docker服務的機器 1.編輯Dockerfile   vim Dockerfile FROM centos:latest ADD ./jdk-8u141-linux-x64.tar.gz /usr/local ENV JAVA_HOM

Android apk動態載入機制的研究(二) 資源載入和activity生命週期管理

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Gradle基礎:3:生命週期管理

Maven中的生命週期的管理使用了COC,以此為中心的pom.xml檔案成為了重中之重,優點是不同專案之間的經驗共享變得更加容易,大家大部分都是可以使用類似的套路,缺點則是靈活性稍微降低以及對於pom.xml細節的學習需要較多時間。Gradle則將這些再次放開,給更多的許可權與開發者,這

webservice 教程學習系列()——使用cxf框架開發webservice

首先下載兩個包:apache-cxf-3.2.7.zip和apache-cxf-3.2.7-src.zip 解壓兩個包,進入apache-cxf-3.2.7的bin目錄 可以看到wsdl2java.bat,這個相當於jdk自帶的wsimport.exe的功能,可以將wsdl檔案轉換成java

Maven學習 04 - 構建生命週期

文章目錄 1、標準生命週期 2、default 生命週期的階段 3、生命週期階段的執行順序 4、Clean 生命週期 5、Site生命週期 構建生命週期是指為一個工程進行專案構建和釋出的過程,它是

Cocos Creator學習三:生命週期回撥函式

1.目的:學習生命週期回撥函式以及回撥順序,更有利於我們邏輯的處理把控。   2.生命週期回撥函式: 節點:指cc.Node;元件:指cc.Component。 ①onLoad:指令碼元件繫結的節點所在場景載入時系統回撥一次(或者節點active從false變為true時系統回撥一次)。可在

kubernetes--pod的生命週期管理(PostStart,PreStop)

lifecycle 建立資源物件時,可以使用lifecycle來管理容器在執行前和關閉前的一些動作。 lifecycle有兩種回撥函式: PostStart:容器建立成功後,執行前的任務,用於資源部署、環境準備等。 PreStop:在容器被終止前的任務,用於優雅關閉

SPASVO 軟體生命週期管理 ALM V2.1 正式釋出!

ALM是面向軟體研發生命週期管理的工具,實現了從產品概念設計、需求分析、歷經專案計劃、專案進度、配置管理、工時管理、測試管理等階段,直至專案完成的全過程管理。 ALM V2.1新增功能模組如下: 1.供應商管理 管理員點選 [供應商管理] 即可檢視供應商列表頁

Spring註解開發系列(三)---生命週期

Bean的生命週期 Spring Bean 的生命週期在整個 Spring 中佔有很重要的位置,掌握這些可以加深對 Spring 的理解。 首先看下生命週期圖: 再談生命週期之前有一點需要先明確: Spring 只幫我們管理單例模式 Bean 的完整生命週期,對於 prototype 的 bean