Docker容器歷練之路-常用命令編

docker常用命令

開啓docker服務

systemctl start docker

關閉docker服務

service docker stop  
或者 
systemctl stop docker

重啓docker服務

systemctl restart docker

開啓docker容器(docker exit狀態)

docker start 容器名稱  
比如開啓名字爲cli容器: docker start cli

啓動一個docker容器終端(docker up狀態)

即進入運行中的docker容器,可以進行一些操作,如登陸Linux一樣。

docker exec -it  容器名稱 bash 
比如名字爲cli容器: docker exec -it  cli bash 

重啓docker容器(docker up狀態)

docker restart 容器名稱  
比如重啓名字爲cli容器: docker restart cli

複製文件到docker容器中

docker cp 主機文件  容器名稱:容器路徑
比如將home目錄下的test文件放到cli容器的src目錄下: 
docker cp '/home/test' cli:/opt/gopath/src

查看鏡像

docker images

刪除某一個容器

docker rm <容器ID>

刪除某一個鏡像

docker rmi <image id>

刪除所有停止的鏡像

docker rm $(docker ps -aq)

查看docker鏡像日誌

docker logs 鏡像名稱

刪除容器失敗時候調用

docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop

docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm

docker images|grep none|awk '{print $3 }'|xargs docker rmi

docker鏡像導出

tar鏡像包可以拷貝到其他機器docker環境中加載

docker save 容器名稱-o 導出的容器包名稱.tar
如將容器hello打包爲hello.tar
 docker save hello -o hello.tar

docker鏡像加載

docker load -i hello.tar

docker 查詢過濾

docker ps -a | grep 要查看的

docker 推送和拉取鏡像

推送到私服:

docker push 172.XX.209.XX:8083/jenkins/jenkins:20200202

從私服拉取:

#先登錄:
docker login 172.XX.209.XX:8082 -u admin -p 密碼
#拉取
docker pull 172.XX.209.XX:8082/jenkins/jenkins:20200202

依據容器創建新鏡像

使用commit存爲新的鏡像

docker commit 69f501e858a6 jenkins-bak:1.0

docker一鍵刪除所有none鏡像

docker rmi `docker images | grep  "<none>" | awk '{print $3}'`

修改docker容器的時間、時區

進入宿主機查看容器 docker ps

#進入容器 
docker exec -it “容器名“ bash
#查詢時間 date -R 發現時區爲0時區
date -R
#Tue, 17 Sep 2019 05:51:30 +0000

1.複製相應的時區文件,替換系統時區文件;

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo  'Asia/Shanghai' > /etc/timezone

有的容器基礎鏡像是有這個文件的,直接拷貝就可以,如果不能拷貝,則是因爲創建鏡像時依賴的基礎鏡像 運行的容器沒有這兩個文件,使用下面的辦法

  1. 創建文件夾
mkdir -p /usr/share/zoneinfo/Asia

3.回到宿主機,複製宿主機裏的文件到容器中

docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia
  1. 進入容器
docker exec -it 容器Id或容器名 bash

執行命令

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo  'Asia/Shanghai' > /etc/timezone
  1. 驗證date
date
#Tue Sep 17 13:54:25 CST 2019
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章