Dcoker
- Docker是一個開源的應用容器引擎,是一個輕量級別的容器技術
- Dcoker支持將軟件編譯成一個鏡像;然后在鏡像中對各種軟件做好配置,再將鏡像發布出去,供別人使用
- 運行中的鏡像稱為容器,容器的啟動是非常快速的
核心概念
- docker主機(Host):安裝了Docker程序的機器,Docker直接運行在系統的內核上
- docker客戶端(Client):鏈接docker主機進行操作
- docker倉庫(Registry):用來保存各種打包好的軟件鏡像
- docker鏡像(Images):軟件打包好的鏡像;放在docker倉庫中
- docker容器(Container):鏡像啟動后的一個實例稱為一個容器;容器是獨立運行的一個或者一組應用
操作Docker的步驟
- 根據安裝Docker的操作系統和內核不同,具體的操作命令可以參考官網
- 安裝Docker?
yum install docker
- 查看Docker的版本
docker -v
- 查看Docker的狀態
service docker status
- 啟動Docker
service docker start
- ?停止Dcoker
service docker stop
- 設置Docker開機自啟動(最新版的命令,Docker CE開源版)?
systemctl enable docker
Docker常用命令
鏡像操作
操作 | 命令 | 說明 |
---|---|---|
檢索 | docker search 關鍵字 eg:docker search redis | 我們經常去docker hub上檢索鏡像的詳細信息,如鏡像的TAG。 |
拉取 | docker pull 鏡像名:tag | :tag是可選的,tag表示標簽,多為軟件的版本,默認是latest |
列表 | docker images | 查看所有本地鏡像 |
刪除 | docker rmi image-id | 刪除指定的本地鏡像 |
修改鏡像源
新建/etc/docker/daemon.json文件,在其中新增如下的內容;新版本不存在這個文件,需要新建
vim /etc/docker/daemon.json# 內容:{
"registry-mirrors":["我們的鏡像源地址"]
}
國內鏡像源一般可以使用阿里和有道
容器操作(Tomcat)
- 查詢鏡像?docker search tomcat
-
下載鏡像 docker pull tomcat 如果不指代版本,默認下載最新版,我們可以上網站httpps://hub.docker.com/網站查找版本號
-
根據鏡像啟動容器,不加TAG默認就是latest,如果沒有下載就會先先下載再啟動
docker run --name mytomcat -d tomcat:latest --name :給容器起一個名字 -d:后臺啟動,不加就是前臺啟動
- 查看運行中的容器
docker ps
- 停止運行中的容器
docker stop 容器的id# 或者docker stop 容器的名稱,就是使用--name起的名字
- 查看所有的所有的容器
docker start 容器id/名字
- 啟動容器
docker start 容器id/名字
- 刪除一個容器
docker rm 容器id/名字
- 啟動一個做了端口映射的tomcat
docker run -d -p 8888:8080 tomcat -d:后臺運行 -P:將主機的端口映射到外部,從而可以調用 主機端口(8888):容器內部的端口(8080) 外界通過主機的8888端口就可以訪問到tomcat,前提是8888端口訪問
- 關閉防火墻
# 查看防火墻狀態 service firewalld status# 關閉防火墻 service firewalld stop
- 查看容器日志
docker logs 容器id/名字
容器操作(Mysql)
注意事項(如果使用本地安裝,如果安裝在虛擬機或者是服務器上,host會變)
- host: 127.0.0.1 (可以換成IP地址,但是如果是本地,也不要選localhost)
- port: 3306
- user: root
- password: 123456?
-
# 拉取鏡像 docker pull mysql:5.7# 運行mysql容器docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7# --name mysql:容器的名字是mysql # MYSQL_ROOT_PASSWORD:指定以root為賬號的密碼是123456
- 連接容器內的mysql
docker exec -it mysql bash#當后臺啟動容器,如果想進入容器,使用如下命令 #docker attach #docker exec 推薦使用;因為此推出容器終端,不會導致容器的停止-i:交互式操作 -t:終端 mysql:名字為mysql的鏡像 bash:放在鏡像名字后面是命令;啟動交互式shell,因此使用bash;也可以使用/bin/bash
- 直接使用端口映射更加方便
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.28
參考鏈接
?