1.什麼是docker?
docker是乙個基於go語言並遵從apache2.0協議開源的應用容器引擎。
它可以將應用及依賴包打包到乙個輕量級、可移植的容器中,並發布到linux系統中,可以實現虛擬化,容器完全使用沙箱機制,相互之間不會有任何介面,效能開銷極低。
docker支援將軟體編譯成乙個映象,然後在映象中做好軟體配置,然後便可以直接使用這個映象。
2.幾個概念
3.docker安裝
windows
需要專業版且支援hyper-v
linux版
參考官網教程
其他教程
如果執行hello-word時映象拉取失敗,參考上面的國內映象設定,或者自己在網上找些映象源
阿里雲映象
阿里雲登入 - 歡迎登入阿里雲,安全穩定的雲計算服務平台cr.console.aliyun.com
ubuntu中建立檔案
刪除檔案
編輯檔案
如果許可權不夠,前面要加sudo
啟動docker
sudo systemctl enable docker
sudo systemctl start docker
重啟docker
sudo systemctl daemon-reload
sudo systemctl restart docker
顯示本地已安裝映象源
docker images
搜尋網上的映象源
docker search 名稱
如mysql
name為映象名 ,description為映象描述,stars關注人數,official是否官方,automated是否自動配置
拉取映象
docker pull 映象名 此時預設latest版本
或
docker pull 映象名:5.5 此時為5.5版本
刪除映象
注意是映象id,如上圖
容器操作
已經有軟體映象》執行映象》產生容器》對映
以tomcat為例
docker pull tomcat
docker run --name mytomcat -d -p 8181:8080 tomcat
此時便可以通過訪問主機的8181埠來訪問容器的8080埠
以mysql為例
docker pull mysql
docker run --name mmysql -p 8888:3306 -e mysql_root_password=123456 -d mysql
mysql需要指定引數,像這裡指定了root密碼
如果docker裝在虛擬機器裡,在外面的作業系統訪問時,不能用localhost,需要用虛擬機器的ip位址
具體各個映象的配置引數,可以到docker hub官網去相關映象查閱
命令列中輸入ip addr可檢視ip位址
如果不顯示ip位址,而是像下面那樣
輸入 service network-manager restart重啟網絡卡即可,之後再輸入ip addr即可
Why 許可權不夠「?
x configure bash configure bin sh bad interpreter 許可權不夠 今日,實在是需要編譯程式,沒辦法又搜了大半天,和上次一樣的結果。沒辦法之後自己反覆嘗試了幾次,明明直接敲 sh 就可以執行,咋就是最後還是出錯呢,而且難道我每次都非得敲 sh 更是鬱悶!突...
Why 許可權不夠「?
x configure bash configure bin sh bad interpreter 許可權不夠 今日,實在是需要編譯程式,沒辦法又搜了大半天,和上次一樣的結果。沒辦法之後自己反覆嘗試了幾次,明明直接敲 sh 就可以執行,咋就是最後還是出錯呢,而且難道我每次都非得敲 sh 更是鬱悶!突...
Why 許可權不夠「?
x configure bash configure bin sh bad interpreter 許可權不夠 今日,實在是需要編譯程式,沒辦法又搜了大半天,和上次一樣的結果。沒辦法之後自己反覆嘗試了幾次,明明直接敲 sh 就可以執行,咋就是最後還是出錯呢,而且難道我每次都非得敲 sh 更是鬱悶!突...