Docker的入門
- 防火墻
- Docker的命令
- 鏡像相關的命令
- 運行容器
- 容器相關的命令
Docker作為一個軟件集裝箱化平臺,可以讓開發者構建應用程序時,將它與其依賴環境一起打包到一個容器中,然后很容易地發布和應用到任意平臺中。
docker有3大核心:倉庫、鏡像、容器 。
核心 | 作用 |
---|---|
倉庫 | 遠程倉庫:開發者鏡像及官方鏡像 本地倉庫:只保存當前自己使用過的鏡像及自定義鏡像 作用:用來存放docker鏡像位置 |
鏡像 | 作用:一個鏡像就代表一個軟件 |
容器 | 作用:一個鏡像運行一次就會生成一個實例 就是生成一個容器 |
容器是由鏡像實例化而來。
簡單來說,鏡像是文件,容器是進程。
容器是基于鏡像創建的,即容器中的進程依賴于鏡像中的文件。
docker 實例步驟:docker安裝—>鏡像載入—>容器運行
防火墻
Centos7默認安裝了firewalld,如果沒有安裝的話,可以使用 yum install firewalld firewalld-config進行安裝。
1.啟動防火墻
systemctl start firewalld
2.禁用防火墻
systemctl stop firewalld
3.設置開機啟動
systemctl enable firewalld
4.停止并禁用開機啟動
sytemctl disable firewalld
5.重啟防火墻
firewall-cmd --reload
6.查看狀態
systemctl status firewalld或者 firewall-cmd --state
7.查看版本
firewall-cmd --version
8.重新加載配置,使配置生效
firewall-cmd --reload
9.查看開放的端口
firewall-cmd --list-ports
Docker的命令
#開啟docker
systemctl start docker
#停止docker
systemctl stop docker
# 重啟docker
systemctl restart docker
#開機自啟docker服務
systemctl enable docker
鏡像相關的命令
# 查看鏡像
docker images
docker images -a #展示所有鏡像
docker images -q #只展示鏡像的ID
docker images mysql #只展示mysql鏡像
# 鏡像載入(該方式導鏡像,加載的鏡像是沒有名稱和標簽的)
docker load -i 鏡像文件
# 重命名鏡像名稱和標簽
docker tag 鏡像id name:tag
例如:docker tag 05f1833be2a6 entidaas-apiservice:v1.2.0-SNAPSHOT
# 多次重命名鏡像名稱和標簽,導致出現相同鏡像id的鏡像,刪除一個
docker rmi 鏡像名:版本
例如:docker rmi entidaas-apiservice:v1.2.0-SNAPSHOT
# 刪除鏡像
docker image rm 鏡像名:版本或者id標識 # docker image rm mysql:8.0.27
docker image rm -f 鏡像名:版本或者id標識 # 強制刪除
# 簡化刪除
docker rmi 鏡像名:版本# 組合運用
# 清空本地倉庫所有鏡像
docker rmi -f $(docker images -q)
運行容器
# 運行一個容器
docker run 鏡像名稱:版本號
# 運行容器與宿主機進行映射
docker run -p 8080:8080 鏡像名稱:版本號
# 啟動容器映射端口,后臺啟動
docker run -p 8080:8080 -d 鏡像名稱:版本號
# 啟動容器映射端口,后臺啟動,指定名稱
docker run -p 8080:8080 --name 容器名稱 -d 鏡像名稱:版本號
容器相關的命令
# 查看docker信息
docker info
# 查看docker版本
docker version
# 幫助命令
docker --help# 查看正在運行的容器
docker ps
# 查看運行容器的歷史記錄
docker ps -a
# 查看最近運行的兩個容器
docker ps -a -n=2
# 查看正在運行的容器id
docker ps -q
# 查看所有容器的id
docker ps -aq# 容器的啟動
docker start 容器名稱或者容器id
# 容器的重啟
docker restart 容器名稱或者容器id
# 容器的停止
docker stop 容器名稱或者容器id
docker kill 容器名稱或者容器id # 容器的刪除((慎重刪除!!! 不然數據全沒了))
docker rm 容器的id或者名稱
docker rm -f 容器的id或者名稱
docker rm -f $(docker ps -aq)# 查看日志
docker logs 容器id或名稱
# 實時展示日志
docker logs -f 容器id或名稱
# 加入時間戳展示實時展示日志
docker logs -tf 容器id或名稱
# 查看最后n行日志
docker logs --tail 5 容器id或名稱# 查看容器的內部進程
docker top 容器id或名稱# 與容器內部進行交互
docker exec -it 容器id或名稱 bash# 從容器復制文件到操作系統
docker cp 容器id:路徑 操作系統下的路徑
# 從操作系統復制文件到容器當中
docker cp 操作系統下的路徑 容器id:路徑