Docker容器的建立、啓動、和中止

一、容器是獨立運行的一個或一組應用,及他們的運行環境。容器是Docker中的一個重要的概念。python

二、docker容器的啓動有三種方式
a.交互方式,基於鏡像新建容器並啓動
例如咱們能夠啓動一個容器,打印出當前的日曆表
[root@rocketmq-nameserver4 ~]# docker run my/python:v1 cal ##my/python:v1爲鏡像名和標籤
docker

咱們還能夠經過指定參數,啓動一個bash交互終端。
[root@rocketmq-nameserver4 ~]# docker run -it my/python:v1 /bin/bash

參數-t讓Docker分配一個僞終端並綁定在容器的標準輸入上,-i讓容器的標準輸入保持打開。centos

使用docker run命令來啓動容器,docker在後臺運行的標準操做包括
1.檢查本地是否存在指定的鏡像,不存在則從公有倉庫下載
2.使用鏡像建立並啓動容器
3.分配一個文件系統,並在只讀的鏡像層外面掛載一層可讀可寫層
4.從宿主主機配置的網橋接口中橋接一個虛擬接口道容器中去
5.從地址池分配一個ip地址給容器
6.執行用戶指定的應用程序
7.執行完畢以後容器被終止

my/sinatra:v2基於training/sinatra鏡像進行修改後的鏡像,training/sinatra爲公有倉庫上的鏡像。bash

b、短暫方式,直接將一個已經終止的容器啓動運行起來
可使用docker start命令,直接將一個已經終止的容器啓動運行起來。spa

[root@rocketmq-nameserver4 ~]# docker run my/python:v1 /bin/echo hello test
hello test
命令執行完,控制檯會打印"hello test",container就終止了,不過並無消失,
能夠用"docker ps -n 5 "看一下最新前5個的container,第一個就是剛剛執行過的container,能夠再次執行一遍:docker start container_id3d

不過此次控制檯看不到」hello test」了,只能看到ID,用logs命令才能看獲得:docker logs container_id。
能夠看到兩個」hello test」了,由於這個container運行了兩次。
rest

c、daemon方式,守護態運行
即讓軟件做爲長時間服務運行,這就是SAAS啊!server

例如咱們啓動centos後臺容器,每隔一秒打印當天的日曆。
$ docker run -d centos /bin/sh -c "while true;do echo hello docker;sleep 1;done"blog

啓動以後,咱們使用docker ps -n 5查看容器的信息接口

要查看啓動的centos容器中的輸出,可使用以下方式:
$ docker logs $CONTAINER_ID ##在container外面查看它的輸出
$ docker attach $CONTAINER_ID ##鏈接上容器實時查看:

三、終止容器
使用docker stop $CONTAINER_ID來終止一個運行中的容器。而且可使用docker ps -a來看終止狀態的容器。

終止狀態的容器,可使用docker start來從新啓動。

使用docker restart命令來重啓一個容器。

相關文章
相關標籤/搜索