docker create命令能夠基于鏡像創(chuàng)建容器。
該命令執(zhí)行的效果類似于docker run -d,即創(chuàng)建一個(gè)將在系統(tǒng)后臺(tái)運(yùn)行的容器。
但是與docker run -d不同的是,docker create創(chuàng)建的容器并未實(shí)際啟動(dòng),還需要執(zhí)行docker start命令或docker run命令以啟動(dòng)容器。
事實(shí)上,docker create命令常用于在啟動(dòng)容器之前進(jìn)行必要的設(shè)置。
示例如下:
1.創(chuàng)建容器
docker create -it --name mycontainer ubuntu_image bash
示例:
[root@my ~]# docker create -it --name myvm ubuntgu_image bash
840e4617fac5117c4a142ae6e86ac38e4590a0d6706029abe736843365b16d3640
[root@my ~]# docker ps -a | grep myvm
840e4617fac5 9faf320835640 "/bin/sh -c '/opt/test" 2 minutes ago Created myvm
2.啟動(dòng)容器
docker start -a -i mycontainer
或
docker run -it --name mycontainer ubuntu_image bash
關(guān)于docker run命令,這里我就不多介紹了。
補(bǔ)充:Docker的基本命令
一、基本命令
docker version查看docker版本
docker info查看docker詳細(xì)信息
docker --help查看docker命令
二、鏡像命令
docker images查看docker鏡像
PEPOSITORY:鏡像的倉(cāng)庫(kù)源
TAG:鏡像的標(biāo)簽
IMAGE ID:鏡像ID
CREATED:鏡像創(chuàng)建時(shí)間
SIZE:鏡像大小
同一個(gè)倉(cāng)庫(kù)源可以有多個(gè)TAG,表示這個(gè)倉(cāng)庫(kù)源的不同版本,我們使用REPOSITORY:TAG來(lái)定義不同的鏡像。如果不指定一個(gè)鏡像的版本標(biāo)簽,例如只使用tomcat,docker將默認(rèn)使用tomcat:latest鏡像
docker images -a列出本地所有的鏡像
docker images -p只顯示鏡像ID
docker images --digests顯示鏡像的摘要信息
docker images --no-trunc顯示完整的鏡像信息
docker search tomcat從Docker Hub上查找tomcat鏡像
STARS:關(guān)注度
docker search -s 30 tomcat從Docker Hub上查找關(guān)注度大于30的tomcat鏡像
docker pull tomcat從Docker Hub上下載tomcat鏡像。等價(jià)于:docker pull tomcat:latest
docker commit -m "提交的描述信息" -a "作者" 容器ID 要?jiǎng)?chuàng)建的目標(biāo)鏡像名稱:[標(biāo)簽名]提交容器使之成為一個(gè)新的鏡像。
如:docker commit -m "新的tomcat" -a "lizq" f9e29e8455a5 mytomcat:1.2
docker rmi hello-world從Docker中刪除hello-world鏡像
docker rmi -f hello-world從Docker中強(qiáng)制刪除hello-world鏡像
docker rmi -f hello-world nginx從Docker中強(qiáng)制刪除hello-world鏡像和nginx鏡像
docker rmi -f $(docker images -p)通過(guò)docker images -p查詢到的鏡像ID來(lái)刪除所有鏡像
三、容器命令
docker run [OPTIONS] IMAGE根據(jù)鏡像新建并啟動(dòng)容器。IMAGE是鏡像ID或鏡像名稱
OPTIONS說(shuō)明:
--name=“容器新名字”:為容器指定一個(gè)名稱 -d:后臺(tái)運(yùn)行容器,并返回容器ID,也即啟動(dòng)守護(hù)式容器 -i:以交互模式運(yùn)行容器,通常與-t同時(shí)使用 -t:為容器重新分配一個(gè)偽輸入終端,通常與-i同時(shí)使用 -P:隨機(jī)端口映射 -p:指定端口映射,有以下四種格式:
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
docker ps列出當(dāng)前所有正在運(yùn)行的容器
docker ps -a列出所有的容器
docker ps -l列出最近創(chuàng)建的容器
docker ps -n 3列出最近創(chuàng)建的3個(gè)容器
docker ps -q只顯示容器ID
docker ps --no-trunc顯示當(dāng)前所有正在運(yùn)行的容器完整信息
exit退出并停止容器
Ctrl+p+q只退出容器,不停止容器
docker start 容器ID或容器名稱啟動(dòng)容器
docker restart 容器ID或容器名稱重新啟動(dòng)容器
docker stop容器ID或容器名稱停止容器
docker kill 容器ID或容器名稱強(qiáng)制停止容器
docker rm 容器ID或容器名稱刪除容器
docker rm -f 容器ID或容器名稱強(qiáng)制刪除容器
docker rm -f $(docker ps -a -q)刪除多個(gè)容器
docker logs -f -t --since --tail 容器ID或容器名稱查看容器日志
如:docker logs -f -t --since=”2018-09-10” --tail=10 f9e29e8455a5
-f : 查看實(shí)時(shí)日志
-t : 查看日志產(chǎn)生的日期
--since : 此參數(shù)指定了輸出日志開始日期,即只輸出指定日期之后的日志
--tail=10 : 查看最后的10條日志
docker top 容器ID或容器名稱查看容器內(nèi)運(yùn)行的進(jìn)程
docker inspect 容器ID或容器名稱查看容器內(nèi)部細(xì)節(jié)
docker attach 容器ID進(jìn)到容器內(nèi)
docker exec 容器ID進(jìn)到容器內(nèi)
docker cp 容器ID:容器內(nèi)的文件路徑 宿主機(jī)路徑從容器內(nèi)拷貝文件到宿主機(jī).
如:docker cp f9e29e8455a5:/tmp/yum.log /root
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。