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)建鏡像
# 掛載設(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