一.Docker簡介
程序員經(jīng)常遇到一個問題,這個程序在我的電腦上已經(jīng)跑通了,但是在他的電腦上怎么跑都跑不通。因?yàn)槊颗_電腦的環(huán)境都不一樣溶推,這就對程序的運(yùn)行造成了很大的困惱徊件。又或者我們需要重新部署環(huán)境奸攻,但是之前環(huán)境上安裝了很多東西蒜危,環(huán)境系統(tǒng)之后需要大量的時間部署軟件。此時Docker就登場了睹耐。
Docker 是一個開源的應(yīng)用容器引擎辐赞,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中。也就是所你可以將你的環(huán)境硝训。當(dāng)然我也是一個Docker的初學(xué)者响委,個人理解Docker對于Java就像Ghost對于Windows。
- Docker主機(jī)(Host):安裝了Docker程序的機(jī)器窖梁。
- Docker客戶端(Client):連接Docker主機(jī)進(jìn)行操作赘风。
- Docker倉庫(Registry):用來保存各種打包好的鏡像。
- Docker鏡像(Images):軟件打包好的鏡像纵刘,放在Docker倉庫中邀窃。
- Docker容器(Container):鏡像啟動后的實(shí)例就是容器。
二.Linux虛擬機(jī)的安裝
我們這次選擇在Linux上部署Docker假哎。VMWare+CentOS的組合瞬捕,軟件自行下載。
這里有一個小坑舵抹,就是在VMWare上安裝好CentOS后是連不上網(wǎng)絡(luò)的肪虎,這里我們需要修改配置文件。
vi /etc/sysconfig/network-scripts/ifcfg-enoXXX(XXX根據(jù)系統(tǒng)不同而不同)惧蛹,因?yàn)槲覀兛茨J(rèn)是不啟動網(wǎng)卡的(ONBOOT=no)扇救,所以需要將ONBOOT選項改為yes。然后service network restart赊淑,我們聯(lián)網(wǎng)方式選擇的是NAT爵政。
此時我們可以ping一下測試網(wǎng)絡(luò)
三.Docker的安裝
- 查看CentOS的版本,要保證版本高于3.10陶缺。我們可以輸入
uname -r
查看版本钾挟。 - 如果要升級內(nèi)核,指令為
yum update
- 安裝Docker饱岸,指令為
yum install docker
- 啟動Docker掺出,指令為
systemctl start docker
- 用
docker -v
查看docker版本 - 添加開機(jī)啟動Docker
systemctl enable docker
- 停止Docker,指令
systemctl Stop docker
- 進(jìn)入某一個容器
docker exec -it <container1> /bin/bash
四.Docker常用操作
1.鏡像操作
操作 | 指令 | 作用 |
---|---|---|
檢索 | docker search XXX | 到docker Hub中檢索鏡像 |
拉取 | docker pull XXX:TAG | 從docker Hub中拉去XXX的TAG版本的鏡像 |
查詢鏡像 | docker images | 查看本地鏡像 |
刪除 | dock rmi 鏡像ID | 刪除指定的本地鏡像 |
2.容器操作
操作 | 指令 | 說明 |
---|---|---|
啟動運(yùn)行 | dock run --name containner-name -d image-name | -name 容器名 -d 后臺運(yùn)行 image-name鏡像模版 |
查看列表 | docker ps | 運(yùn)行中容器 |
查看列表 | docker ps -a | 所有容器 |
停止 | docker stop container-name/container-id | 停止當(dāng)前容器 |
啟動 | docker start container-name/container-id | 啟動當(dāng) 前容器 |
刪除 | docker rm container-id | 刪除指定容器 |
端口映射 | -p 6376:6376 eg:docker run -d -p 主機(jī)端口:容器端口 --name myredis docker.io/redis |
-p:主機(jī)端口映射 |
日志 | docker logs | 容器日志 |
更多的命令可以參考docker官方文檔。
啟動tomcat:
運(yùn)行docker run --name mytomcat -d -p 8888:8080 tomcat
映射地址之后就可以在主機(jī)訪問tomcat
啟動mysql:
運(yùn)行docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
更多環(huán)境的配置可以參看DockerHub苫费。(果然帶HUB的都是好網(wǎng)站疤老恰!)