1. 程式人生 > 實用技巧 >mongodb設定密碼和修改預設埠

mongodb設定密碼和修改預設埠

目錄

幫助命令

docker version
docker info
docker --help

映象命令

docker images

#列出本地主機上的映象
docker images

#列出本地所有的映象(含中間映像層)
docker images -a

#只顯示映象ID
docker images -q

#顯示映象的摘要資訊
docker images --digests

#顯示完整的映象資訊
docker images --no-trunc

搜尋映象

docker search 某個映象的名字

#搜尋tomcat
docker search tomcat

#完整的映象描述
docker search --no-trunc tomcat

#列出收藏數不小於指定值d的映象
docker search -s 30 tomcat

docker pull

下載映象

docker pull 某個映象的名字:[TAG]

#兩者等價
docker pull tomcat
docker pull tomcat:latest

docker rmi

刪除映象

#刪除tomcat映象
docker rmi tomcat

#強制刪除映象
docker rmi -f tomcat

#刪除多個映象
docker rmi 映象1 映象2

#刪除所有映象
docker rmi $(docker images -qa)

容器命令

新建並啟動容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS說明(常用):有些是一個減號,有些是兩個減號

--name="容器新名字": 為容器指定一個名稱;
-d: 後臺執行容器,並返回容器ID,也即啟動守護式容器;
-i:以互動模式執行容器,通常與 -t 同時使用;
-t:為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
-P: 隨機埠對映;
-p: 指定埠對映,有以下四種格式
 ip:hostPort:containerPort
 ip::containerPort
 hostPort:containerPort
 containerPort

#執行centos
docker run -it centos

列出當前所有正在執行的容器

docker ps [OPTIONS]

OPTIONS說明(常用):

-a :列出當前所有正在執行的容器+歷史上執行過的
-l :顯示最近建立的容器。
-n:顯示最近n個建立的容器。
-q :靜默模式,只顯示容器編號。
--no-trunc :不截斷輸出。

#列出當前所有正在執行的容器+歷史上執行過的
docker ps -a

退出容器

方式一:
exit : 容器停止退出

方式二:
Ctrl+P+Q : 容器不停止退出

啟動容器

docker start 容器ID或者容器名

重啟容器

docker restart 容器ID或者容器名

停止容器

docker stop 容器ID或者容器名

強制停止容器

docker kill 容器ID或者容器名

刪除已停止的容器

docker rm 容器ID或者容器名

刪除所有

#兩個一樣
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm

啟動守護式容器

#使用映象centos:latest以後臺模式啟動一個容器
docker run -d centos

問題:然後docker ps -a 進行檢視, 會發現容器已經退出
很重要的要說明的一點: Docker容器後臺執行,就必須有一個前臺程序.
容器執行的命令如果不是那些一直掛起的命令(比如執行top,tail),就是會自動退出的。

這個是docker的機制問題,比如你的web容器,我們以nginx為例,正常情況下,我們配置啟動服務只需要啟動響應的service即可。例如
service nginx start
但是,這樣做,nginx為後臺程序模式執行,就導致docker前臺沒有執行的應用,
這樣的容器後臺啟動後,會立即自殺因為他覺得他沒事可做了.
所以,最佳的解決方案是,將你要執行的程式以前臺程序的形式執行

檢視容器日誌

#執行容器,並在後臺不關閉
docker run -d centos /bin/sh -c "while true;do echo hello world;sleep 2;done"

檢視日誌
docker logs -f -t --tail 容器ID

#檢視日誌
docker logs f4573f9d6747
#檢視日誌加時間
docker logs -t f4573f9d6747
#檢視日誌實時
docker logs -tf f4573f9d6747
#檢視日誌實時,從最近的三行開始看
docker logs -tf --tail 3 f4573f9d6747

檢視容器內執行的程序

docker top 容器ID

docker top f4573f9d6747

檢視容器內部細節

以json串的形式檢視
docker inspect 容器ID

docker inspect f4573f9d6747

進入正在執行的容器並以命令列互動

方式一:
docker attach 容器ID

docker attach 3773a13a5572

方式二:
不進入容器內部操作容器
docker exec -it 容器ID bashShell

docker exec -it 3773a13a5572 ls -l /tmp

從容器內拷貝檔案到主機

docker cp 容器ID:容器內路徑 目的主機路徑

#從容器拷貝hello.txt檔案到本機
docker cp 3773a13a5572:/tmp/hello.txt ./hello.txt