docker初學知識

2021-10-03 01:59:21 字數 2818 閱讀 3960

docker container run == docker run 建立並執行容器

docker container create == docker create 建立容器

docker container start == docker start 啟動容器

docker container stop == docker stop 停止容器

docker container kill == docker kill 強制停止容器

docker container restart == docker restart 重啟容器

docker container ls == docker ps 檢視容器列表

docker container rm == docker rm 刪除容器

docker container exec == docker exec 進入正在執行的容器

docker container attach == docker attach 進入正在執行的容器

docker container cp == docker cp 在容器和宿主機之間相互拷貝檔案

docker container logs == docker logs 檢視容器初始命令輸出(常用來排錯)

docker container pause == docker pause 掛起容器

docker container top == docker top 檢視容器程序

手動製作映象:

a:啟動乙個基礎容器,在容器中安裝服務

docker run -it -p 80:80 centos:6.9

yum install epel-release -y

yum install nginx -y

b: 把安裝好服務的容器提交為映象

docker commit a72c78292f56 centos6.9_nginx:v1

格式 docker commit (正在執行的容器id) 製作新容器的名字:版本

c:測試新提交的映象

docker run -d -p 81:80 centos6.9_nginx:v1 nginx -g 『daemon off;』

格式 docker run -d -p 新容器的名字:版本 +初始命令

httpd 初始命令/usr/sbin/httpd -d foreground

如果製作的映象需要同時執行多個程式時,需要先在後台執行程式,但最後執行的乙個程式必須要保證一直存活

sshd的話要想可以連線必須要提前設定使用者名稱和密碼

sshd啟動命令 /etc/init.d/sshd

需要建立dockerfile目錄

目錄必須為dockerfile

自動製作命令之前,先手動製作一次,記錄歷史命令,編寫dockerfile

最後進行測試

form 基礎映象

run 製作映象過程中執行的指令

cmd 啟動容器時執行的初始命令

cmd推薦寫法 [" 命令 " , " 命令 "]

add 拷貝檔案或者目錄

add 原始檔(相對路徑) 目標路徑

copy 拷貝檔案或者目錄

add會自動解壓 copy不會自動解壓

expose 指定要暴露的埠

workdir 指定進入時所在目錄

entrypiont 啟動容器時執行的初始命令 不會被改變

執行dockerfile

docker image build -t centos6.9:v1

docker image build -t (生成的名稱和版本)

host:容器將不會虛擬出自己的網絡卡,配置自己的ip等,而是使用宿主機的ip和埠。

container:建立的容器不會建立自己的網絡卡,配置自己的ip,而是和乙個指定的容器共享ip、埠範圍。

none:該模式關閉了容器的網路功能。

bridge:此模式會為每乙個容器分配、設定ip等,並將容器連線到乙個docker0虛擬網橋,通過docker0網橋以及iptables nat表配置與宿主機通訊。

docker network create -d bridge --subnet 172.18.0.0/16 --gateway 172.18.0.1 zhuzhu

自建網路 網路型別為bridge 網路位址範圍為172.18.0.0/16 閘道器為172.18.0.1 自建網路名稱為zhuzhu

kubectl create -f ***.yaml 建立資源

kubectl get list 檢視資源列表

kubectl describe pod nginx 檢視某乙個具體資源的詳情

kubectl edit pod nginx 修改資源的屬性

kubectl delete -f ***.yaml |kubectl delete pod nginx 刪除資源

kubectl cp 和docker cp類似

kubectl run 預設是建立乙個deployment資源

kubectl exec 進入某乙個pod的容器中

kubectl logs 檢視某乙個pod的容器日誌

kubectl scale 設定rc或者deployment的副本數

kubectl set image 更新容器的映象

kubectl rollout history 檢視deployment資源有哪些歷史版本

kubectl rollout undo 為deployment資源回滾到上乙個版本

kubectl expose 為rc或者deployment自動建立svc

kubectl rolling-update 為某乙個rc資源進行滾動公升級

未完待續

初學docker理解二

此文僅僅個人對於docker的理解,不涉及任何其他的東西 隨著對docker理解的深入腦海裡總是會浮現幾個問題 1.docker到底是什麼 docker現實中究竟是怎麼用的?第乙個問題再理解一的時候已經說了。現在說說第二個問題 我們可以先談談剛開始的時候資料是怎麼訪問的?如果多伺服器的時候呢,比如專...

Docker 初學日記 1

今天開始使用linux,為了減少專案各個元件的開發周期,使用docker作為中介軟體的執行環境,系統使用opensuse 1.搭建docker 參考 安裝命令如下 curl fssl bash s docker mirror aliyun也可以使用國內 daocloud 一鍵安裝命令 curl ss...

docker基礎知識 docker學習知識

學習任何乙個開源新技術,首先問自己幾個問題 1.為什要學習它?2.學習它需要了解哪些相關知識點?3.如何快速學習?4.該技術的使用場景是什麼?為什要學習docker?docker是輕量級虛擬化技術,docker使linux容器技術的應用更加簡單和標準化 docker容器啟動時毫秒級的 docker將...