本文是關於 Docker 的入門使用,若想進一步提升,歡迎學習Docker 使用超詳細 (精通級)
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通過搜尋指紋的後8個字元,驗證您現在是否擁有帶有指紋的金鑰。
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world
docker version
docker info
docker images
REPOSITORY:映象的倉庫源
IMAGE ID:映象的ID
CREATED:映象建立的時間
SIZE:映象的大小
可選項:
-a # 列出所有的映象
-q # 只顯示映象的ID
-aq # 只顯示所有映象的ID
docker search
如:
docker search mysql # 搜尋mysql映象
docker search mysql --filter=STARS=3000 # 搜尋 STARS 大於3000的 mysql 映象
docker pull 映象名[:tag] # 不加 tag,預設下載最新版的 latest
如:
docker pull mysql:5.7 # 下載 mysql(5.7版本) 映象
docker rmi -f 映象ID # 刪除指定的映象
docker rmi -f 映象ID_1 映象ID_2 映象ID_3 # 刪除指定的多個映象
docker rmi -f $(docker images -aq) # 刪除全部的映象
有了映象才可以建立容器
docker run [可選引數] image
如:
docker run -itd --name python_gfh python:3.6.8 /bin/bash
引數說明:
--name # 指定容器名字
-d # 後臺方式執行
-it # 使用互動方式執行,進入容器檢視內容
-p # 指定容器的埠
-p ip:主機埠:容器埠
-p 主機埠:容器埠 # 常用
-p 容器埠
-P # 隨機指定埠
測試: 建立並進入容器:
docker run -it ubuntu:16.04 /bin/bash # 建立並進入容器 ubuntu
exit # 直接退出並停止容器
ctrl + P + Q # 退出但不停止容器
docker ps # 列出當前正在執行的容器
docker ps -a # 列出當前正在執行的容器+歷史執行過的容器
docker ps -n=? # 列出最近建立的容器,?表示個數
docker ps -q # 只顯示容器編號
docker rm 容器ID # 刪除指定的容器,不能刪除正在執行的容器
docker rm -f 容器ID # 強制刪除
docker start 容器ID # 啟動指定容器
docker restart 容器ID # 重新啟動指定容器
docker stop 容器ID # 停止當前正在執行的容器
docker kill 容器ID # 強制停止當前正在執行的容器
docker top 容器ID # 檢視容器中程序資訊
docker inspect 容器ID # 檢視容器中程序資訊
方式一:進入容器後開啟一個新的終端,可以在裡面操作(常用)
docker exec -it 容器ID bashShell
方式二:進入容器正在執行的終端,不會啟動新的程序
docker attach 容器ID
docker cp 容器ID:容器內路徑 宿主機檔案路徑 # 容器ID換成容器名也可以
docker cp 宿主機檔案路徑 容器ID:容器內路徑 # 容器ID換成容器名也可以
docker search nginx
docker pull nginx # 預設下載latest
docker run -itd --name nginx_test -p 3344:80 nginx # 可通過宿主機的3344埠存取docker的80埠
部署成功!
Portainer一個輕量級的 Docker 環境管理 UI。
docker run -d -p 9000:9000 --restart=always --name portainer -v /var/run/docker.sock:/var/run/docker.sock -v /Users/lee/dev/docker_file/portainer/data:/data docker.io/portainer/portainer
Docker 映象都是唯讀的,當容器啟動時,一個新的可寫層被載入到映象的頂部。
命令:
docker commit -m="提交的描述資訊" -a="作者" 容器ID 目標映象名:[TAG]
如:1、啟動一個預設的nginx容器;
2、在該容器中做了部分修改;
3、將操作過的 nginx 容器通過 commit 提交為一個映象。
docker commit -m="nginx_vue" -a="fuhong.gao" a8a71b91e24c nginx_vue:1.0
博主水平有限,若發現文中存在問題,歡迎留言指正!