Docker常用的鏡像和容器命令

docker啟動(dòng)命令,docker重啟命令,docker關(guān)閉命令

場(chǎng)景

1. 進(jìn)入某個(gè)docker環(huán)境(鏡像)

已進(jìn)入195的myImages:v1鏡像為例,該鏡像裝好了openjdk8-alpine,安裝好了gmp libstdc++ sqlite openldap的基礎(chǔ)鏡像。

docker images
# 可以看到myImages:v1鏡像
docker ps 
# 如果啟動(dòng)了,ps時(shí)可以看到UP的狀態(tài),沒有的話,可以通過(guò)ps -a看看有沒有這個(gè)容器
docker ps -a
# 1. 沒有容器的話執(zhí)行運(yùn)行鏡像的命令,并進(jìn)入sh
docker run -it --name mycontain myImages:v1
# 2. 如果有這個(gè)容器,那么啟動(dòng)一下,并進(jìn)入sh,其中6e291674a36a為myImages:v1的容器id
docker start 6e291674a36a
docker exec -it 6e291674a36a /bin/sh

2. 啟動(dòng)mysql

已247的mysql為例,有時(shí)候虛擬機(jī)重啟,或者docker中mysql掛了。

# 查看docker狀態(tài),如果沒有啟動(dòng)就啟動(dòng)docker
service docker status
service docker start
# 查看容器狀態(tài),如果沒啟動(dòng)容器就啟動(dòng)一下
docker ps -a
# docker start 容器id,【注意】其中247是對(duì)外用的數(shù)據(jù)庫(kù)!
docker start de9fa67527f6

命令

1. 啟停docker

# 啟動(dòng)docker
systemctl start docker
sudo service docker start
# 關(guān)閉docker
service docker stop   
systemctl stop docker
# 重啟docker
systemctl restart  docker
sudo service docker restart

2. 守護(hù)進(jìn)程重啟

sudo systemctl daemon-reload

3. 容器

3.1 運(yùn)行容器

# 查看所有容器 
docker ps -a
# 查看最后一次運(yùn)行
docker ps -l
# 查看目前 停止的容器
docker ps -f status=exited
# 運(yùn)行某個(gè)容器
docker start name(container id)

3.2 啟停容器

# 停止容器
docker stop name(container id)
# 啟動(dòng)容器
docker start name(container id)

3.3 刪除容器

docker rm name(container id)
# 強(qiáng)刪
docker rm -f name(container id)

3.4 宿主機(jī)拷貝數(shù)據(jù)到容器

# docker cp 本地文件路徑 ID全稱:容器文件路徑
docker cp ./test.txt 6e291674a36a:/

3.5 容器拷貝數(shù)據(jù)到宿主機(jī)

# docker cp ID全稱:容器文件路徑 本地文件路徑
docker cp 6e291674a36a:/test.txt ./

4. 鏡像

4.1 運(yùn)行鏡像

# 啟動(dòng)運(yùn)行測(cè)試環(huán)境(創(chuàng)建并進(jìn)入容器)
docker run -itd --name redis-test -p 6379:6379 redis
# 進(jìn)入運(yùn)行測(cè)試環(huán)境
docker exec -it redis-test /bin/bash
# 以上其實(shí)就是進(jìn)入一個(gè)docker環(huán)境
# 退出容器
exit

4.2 搜索鏡像

docker search imageName

4.3 安裝鏡像

# 安裝redis鏡像
docker pull redis:latest

4.4 刪除鏡像

docker rmi imageID

4.5 重命名鏡像/建立tag

# docker tag IMAGEID(鏡像id) REPOSITORY:TAG(倉(cāng)庫(kù):標(biāo)簽)
docker tag ec8db3fd6929 openjdk:8-jdk-slim-amd64

4.6 導(dǎo)出鏡像

# 查看對(duì)應(yīng)的容器
docker ps -a
# 例如44c912aeb3bb 這個(gè)容器,導(dǎo)出到myImages.v2.tar下
docker export 44c912aeb3bb > myImages.v2.tar

4.7 導(dǎo)入鏡像

cat myImages.v2.tar | docker import - myImages:v2

4.8 通過(guò)dockerfile構(gòu)造鏡像

# 一般默認(rèn)是dockerfile,如果有多個(gè),或者想指定某個(gè)dockerfile,可以使用-f
docker build -f ./dockerfile_myImages -t myImages:v2 .

4.9 掛載設(shè)備創(chuàng)建鏡像

docker掛載設(shè)備

# 掛載設(shè)備,暴露端口,設(shè)置環(huán)境變量,并創(chuàng)建鏡像
# --env 設(shè)置環(huán)境變量
# --device 掛載設(shè)備
# -p 映射端口
docker create -it --device=/dev/swcsm-pci30-0 -p 37094:37094 --env LOG_TRACE=/etc/xxxx.log --name=myImages.v2 myImages:v2 /bin/sh
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容