創(chuàng)建容器
docker run [option] 鏡像名 [向啟動(dòng)容器中傳入的命令]
常用可選參數(shù)說明:
- -i 表示以“交互模式”運(yùn)行容器
- -t 表示容器啟動(dòng)后會(huì)進(jìn)入其命令行。加入這兩個(gè)參數(shù)后,容器創(chuàng)建就能登錄進(jìn)去。即 分配一個(gè)偽終端。
- --name 為創(chuàng)建的容器命名
- -v 表示目錄映射關(guān)系(前者是宿主機(jī)目錄,后者是映射到宿主機(jī)上的目錄,即 宿主機(jī)目錄:容器中目錄),可以使 用多個(gè)-v 做多個(gè)目錄或文件映射。注意:最好做目錄映射,在宿主機(jī)上做修改,然后 共享到容器上。
- -d 在run后面加上-d參數(shù),則會(huì)創(chuàng)建一個(gè)守護(hù)式容器在后臺(tái)運(yùn)行(這樣創(chuàng)建容器后不 會(huì)自動(dòng)登錄容器,如果只加-i -t 兩個(gè)參數(shù),創(chuàng)建后就會(huì)自動(dòng)進(jìn)去容器)。
- -p 表示端口映射,前者是宿主機(jī)端口,后者是容器內(nèi)的映射端口??梢允褂枚鄠€(gè)-p 做多個(gè)端口映射
- -e 為容器設(shè)置環(huán)境變量
- --network=host 表示將主機(jī)的網(wǎng)絡(luò)環(huán)境映射到容器中,容器的網(wǎng)絡(luò)與主機(jī)相同
交互式容器
例如,創(chuàng)建一個(gè)交互式容器,并命名為myubuntu
docker run -it --name=myubuntu ubuntu /bin/bash
在容器中可以隨意執(zhí)行l(wèi)inux命令,就是一個(gè)ubuntu的環(huán)境,當(dāng)執(zhí)行exit命令退出時(shí),該容器也隨之停止。
守護(hù)式容器
創(chuàng)建一個(gè)守護(hù)式容器:如果對(duì)于一個(gè)需要長期運(yùn)行的容器來說,我們可以創(chuàng)建一個(gè)守護(hù)式容器。在容器內(nèi)部exit退出時(shí),容器也不會(huì)停止。
docker run -dit --name=myubuntu2 ubuntu
進(jìn)入已運(yùn)行的容器
docker exec -it 容器名或容器id 進(jìn)入后執(zhí)行的第一個(gè)命令
如
docker exec -it myubuntu2 /bin/bash
查看容器
# 列出本機(jī)正在運(yùn)行的容器
docker container ls
# 列出本機(jī)所有容器,包括已經(jīng)終止運(yùn)行的
docker container ls --all
停止與啟動(dòng)容器
# 停止一個(gè)已經(jīng)在運(yùn)行的容器
docker container stop 容器名或容器id
# 啟動(dòng)一個(gè)已經(jīng)停止的容器
docker container start 容器名或容器id
# kill掉一個(gè)已經(jīng)在運(yùn)行的容器
docker container kill 容器名或容器id
刪除容器
docker container rm 容器名或容器id
3. 將容器保存為鏡像
我們可以通過如下命令將容器保存為鏡像
docker commit 容器名 鏡像名
4. 鏡像備份與遷移
我們可以通過save命令將鏡像打包成文件,拷貝給別人使用
docker save -o 保存的文件名 鏡像名
如
docker save -o ./ubuntu.tar ubuntu
在拿到鏡像文件后,可以通過load方法,將鏡像加載到本地
docker load -i ./ubuntu.tar