Docker容器的创建、启动、和停止的方法
服務(wù)器
1、容器是獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用,及他們的運(yùn)行環(huán)境。容器是Docker中的一個(gè)重要的概念。
2、docker容器的啟動(dòng)有三種方式
a.交互方式,基于鏡像新建容器并啟動(dòng)
例如我們可以啟動(dòng)一個(gè)容器,打印出當(dāng)前的日歷表
[root@rocketmq-nameserver4 ~]# docker run my/python:v1 cal ##my/python:v1為鏡像名和標(biāo)簽
我們還可以通過指定參數(shù),啟動(dòng)一個(gè)bash交互終端。
[root@rocketmq-nameserver4 ~]# docker run -it my/python:v1 /bin/bash
參數(shù)-t讓Docker分配一個(gè)偽終端并綁定在容器的標(biāo)準(zhǔn)輸入上,-i讓容器的標(biāo)準(zhǔn)輸入保持打開。
使用docker run命令來啟動(dòng)容器,docker在后臺(tái)運(yùn)行的標(biāo)準(zhǔn)操作包括
1.檢查本地是否存在指定的鏡像,不存在則從公有倉庫下載
2.使用鏡像創(chuàng)建并啟動(dòng)容器
3.分配一個(gè)文件系統(tǒng),并在只讀的鏡像層外面掛載一層可讀可寫層
4.從宿主主機(jī)配置的網(wǎng)橋接口中橋接一個(gè)虛擬接口道容器中去
5.從地址池分配一個(gè)ip地址給容器
6.執(zhí)行用戶指定的應(yīng)用程序
7.執(zhí)行完畢之后容器被終止
my/sinatra:v2基于training/sinatra鏡像進(jìn)行修改后的鏡像,training/sinatra為公有倉庫上的鏡像。
b、短暫方式,直接將一個(gè)已經(jīng)終止的容器啟動(dòng)運(yùn)行起來
可以使用docker start命令,直接將一個(gè)已經(jīng)終止的容器啟動(dòng)運(yùn)行起來。
[root@rocketmq-nameserver4 ~]# docker run my/python:v1 /bin/echo hello test hello test
命令執(zhí)行完,控制臺(tái)會(huì)打印hello test,container就終止了,不過并沒有消失,可以用docker ps -n 5 看一下最新前5個(gè)的container,第一個(gè)就是剛剛執(zhí)行過的container,可以再次執(zhí)行一遍:docker start container_id
不過這次控制臺(tái)看不到”hello test”了,只能看到ID,用logs命令才能看得到:docker logs container_id。可以看到兩個(gè)”hello test”了,因?yàn)檫@個(gè)container運(yùn)行了兩次。
c、daemon方式,守護(hù)態(tài)運(yùn)行
即讓軟件作為長時(shí)間服務(wù)運(yùn)行,這就是SAAS啊!
例如我們啟動(dòng)centos后臺(tái)容器,每隔一秒打印當(dāng)天的日歷。
$ docker run -d centos /bin/sh -c while true;do echo hello docker;sleep 1;done
啟動(dòng)之后,我們使用docker ps -n 5查看容器的信息
要查看啟動(dòng)的centos容器中的輸出,可以使用如下方式:
$ docker logs $CONTAINER_ID ##在container外面查看它的輸出 $ docker attach $CONTAINER_ID ##連接上容器實(shí)時(shí)查看:
3、終止容器
使用docker stop $CONTAINER_ID來終止一個(gè)運(yùn)行中的容器。并且可以使用docker ps -a來看終止?fàn)顟B(tài)的容器。
終止?fàn)顟B(tài)的容器,可以使用docker start來重新啟動(dòng)。
使用docker restart命令來重啟一個(gè)容器。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
總結(jié)
以上是生活随笔為你收集整理的Docker容器的创建、启动、和停止的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全网段ip扫描工具安卓_我是如何打造个人
- 下一篇: 云服务器都能用来做什么