docker入門+結合微服務實戰大全(四)

介紹

容器是docker的另一個核心概念。簡單的來說,容器是鏡像的一個運行實例,所不同的是它有額外的可寫文件層。

如果認爲虛擬機是模擬運行的一整套操作系統(提供了運行態環境和其他系統環境)和跑在上面的應用。那麼docker容器就是獨立運行的一個或一組應用,以及它們的必須運行環境。

查看容器列表

通過docker ps命令查看正在運行的容器列表,需要查詢所有的容器需要加-a參數:

查詢正在運行的容器:docker ps

查詢所有容器 docker ps -a

創建容器

通過docker create 命令可以創建一個容器,這僅僅是創建,並沒有啓動容器。

用法: docker create --help

運行後顯示的重要點意思如下

-i, --interactive Keep STDIN open even if not attached 打開容器的標準輸入

–name string Assign a name to the container 指定容器的名稱

-p, --publish value Publish a container’s port(s) to the host (default [])
指定端口,如:docker create -p 16399:6379 redis:3.0,其中16379是主機端口,6379是容器對外端口,二者對應起來

-t, --tty Allocate a pseudo-TTY 讓Docke分配一個僞端(pseudo-tt)並綁定到容器的標準輸入上

實戰:
docker create -p 16379:6379 --name redis redis:3.0

查看容器列表:

docker ps -a

啓動容器:

docker start 34(34是代表指定容器的id,輸入前幾位即可)

創建並且運行容器

上面通過docker create創建了容器,然後通過docker start來啓動容器,其實這種做法並不常用。

更常用的是docker run命令,這個命令的意思是創建並且啓動容器。

用法:創建並且運行一個redis容器,它的端口是16380。

那麼命令就是

docker run -p 16380:6379 --name redis2 redis:3.0

輸入命令後發現,這個容器已經創建並且運行,但是,它並沒有在後臺運行,當按下 control + c時,該容器將停止。
爲了讓容器在後臺運行,需要添加參數 -d。

docker run -p 16380:6379 -d --name redis2 redis:3.0

報錯說這個容器已經存在 所以我們要給他重命名

docker run -p 16380:6379 -d --name redis3 redis:3.0

測試結果顯示,該容器可用。

接下來,我看下當前運行的容器:

目錄中有三個容器,redis,redis3正在運行,redis2退出運行。

那麼問題來了,redis2這個容器我不想要了,怎麼刪除?答

docker rm dc5b5c31b22a(dc5b5c**31b22a是這個容器的id)

啓動/停止容器

啓動容器:

docker start xxx(id或者容器名)

停止容器

docker stop xxx(容器名或容器id)

docker stop xxx(容器名或容器id)

刪除容器
通過命令docker rm 刪除容器,刪除正在運行的容器添加 -f 參數。

 docker rm xxx(容器id或者容器名)

進入容器

有些時候我們需要進入容器內,做一些操作,比如,修改配置文件等。

進入容器命令。

docker exec

用法:

docker exec -it redis /bin/bash

如果出現錯誤並且code=2的話,docker版本問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章