Docker
- 2022 年 6 月 9 日
- 筆記
-
-
誕生於 2013 年初,基於 Go 語言實現, dotCloud 公司出品(後改名為Docker Inc)
-
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發布到任何流行的 Linux 機器上
-
容器是完全使用沙箱機制,相互隔離
-
1、yum 包更新到最新
yum update
2、安裝需要的軟體包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的
yum install -y yum-utils device-mapper-persistent-data lvm2
3、 設置yum源
yum-config-manager --add-repo //download.docker.com/linux/centos/docker-ce.repo
4、 安裝docker,出現輸入的介面都按 y
yum install -y docker-ce
5、 查看docker版本,驗證是否驗證成功
docker -v
-
-
容器(Container):鏡像(Image)和容器(Contain er)的關係,就像是面向對象程式設計中的類和對象一 樣,鏡像是靜態的定義,容器是鏡像運行時的實體。容 器可以被創建、啟動、停止、刪除、暫停等。
-
倉庫(Repository)
• -t:為容器重新分配一個偽輸入終端,通常與 -i 同時使用。
• -d:以守護(後台)模式運行容器。創建一個容器在後台運行,需要使用docker exec 進入容器。退出後,容器不會關閉。
• -it 創建的容器一般稱為互動式容器,-id 創建的容器一般稱為守護式容器
• --name:為創建的容器命名。
後面再加上 /bin /bash參數後,就是啟動並進入容器,退出容器也就關閉容器;-也稱為交互式容器。

守護式容器:docker run -id --name=r2 redis:5.0
執行命令後會將容器id輸出

進入容器: docker exec -it r2 /bin /bash , 通過-id創建的熔體 ,在exit退出時也不會關閉容器
啟動容器:docker start 容器名稱或容器id
停止容器: docker stop 容器名稱或容器id
刪除指定容器:docker rm 容器名稱或容器id
刪除所有容器: docker rm `docker ps -a -q`
查看容器資訊:docker inspect 容器名稱或容器id
8.Docker容器的數據卷
Docker 容器刪除後,在容器中產生的數據也會隨之銷毀 ;
Docker 容器和外部機器可以交換文件
容器之間進行數據交互

外部機器是不能直接與容器進行通訊,但是可以與宿主機進行通訊,比如linux。
數據卷:
-
-
當容器目錄和數據卷目錄綁定後,對方的修改會立即同步
-
一個數據卷可以被多個容器同時掛載
-
• 容器數據持久化
• 外部機器和容器間接通訊
• 容器之間數據交換
9.配置數據卷
創建啟動容器時,使用-v參數 設置數據卷:docker run ... -v 宿主機目錄(文件):容器目錄(文件) ...
當沒有這個目錄時,會自動創建
例如run -it --name=r1 -v /root/data:/root/data_container redis:5.0 /bin/bash









