簡單說:Docker就是一個(gè)虛擬機(jī),專業(yè)說:它是一個(gè)開源的容器平臺(tái)。它和我們常用的VMware有很多相似的地方。
鏡像/images
由本體打包出來的文件。并不是文件本身,但是具有該文件的功能。舉個(gè)不太貼切的例子,就像鏡子里的你,雖然不是真的你本人,但是你做的任何動(dòng)作他也會(huì)做。
倉庫/DockerHub
存放鏡像的地方,類似GitHub。包括MySQL、Tomcat、Redis、Nginx等等。有很多第三方提供的鏡像,您可以通過
pull
命令下載使用。您也可以通過push
命令上傳鏡像到倉庫。
容器/container
運(yùn)行的虛擬機(jī),它是由鏡像運(yùn)行時(shí)生成的,并且一個(gè)鏡像可以運(yùn)行出多個(gè)容器。
Docker File
指定鏡像是如何構(gòu)建的。簡單說就是把你的項(xiàng)目通過
build
命令構(gòu)建成鏡像【然后鏡像run
以后就會(huì)變成容器,在容器中運(yùn)行你的項(xiàng)目】
tar文件
可以把鏡像文件打包成tar文件
他們之間的關(guān)系:
Docker思想來源于集裝箱,核心思想是隔離。
開發(fā)人員把項(xiàng)目打成war包+環(huán)境打包+數(shù)據(jù)打包成鏡像,上傳到DockerHub倉庫,運(yùn)維或者測試只需要下載開發(fā)的鏡像,然后運(yùn)行就可以。
以下內(nèi)容為筆記,未經(jīng)實(shí)際操作
以centos7為例
設(shè)置服務(wù)器IP地址
1、修改
BOOTPROTO=static
ONBOOT=yes
1表示使用靜態(tài)IP
2表示重啟時(shí)自動(dòng)啟用靜態(tài)IP
2、增加
IPADDR=根據(jù)當(dāng)前服務(wù)網(wǎng)絡(luò)IP設(shè)置
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=114.114.114.114
more ifcfg-ens33
命令可以查看文件修改后的內(nèi)容
ifcfg-ens33
文件重啟網(wǎng)絡(luò)服務(wù)systemctl restart network.service
關(guān)閉防火墻systemctl stop firewalld.service
關(guān)掉本地防火墻和殺毒軟件
現(xiàn)在就可以通過xshell進(jìn)行遠(yuǎn)程連接了,現(xiàn)在在xshell里操作
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker
docker version
docker search 鏡像名稱
docker pull 鏡像名稱
docker images
docker run -d -p 9999:8080 鏡像ID
-d
: 在后臺(tái)運(yùn)行
-p 9999:8080
: 服務(wù)器端口映射到容器的端口執(zhí)行后會(huì)返回一長串?dāng)?shù),證明已經(jīng)正常運(yùn)行
docker ps
docker ps -a
docker logs -f 容器ID
docker exec -it 容器ID /bin/bash
ls -l
就可以查看有哪些文件了
d
開頭表示文件夾
-
開頭表示文件
exit
docker start/stop/restart 容器ID
# 先查看鏡像ID
docker images
# 運(yùn)行
docker run -d -p 9999:8080 鏡像ID
# 查看正在運(yùn)行的容器
docker ps
# 進(jìn)入容器
docker exec -it 容器ID /bin/bash
# 查看文件【1】
ls -l
# 進(jìn)入放項(xiàng)目的目錄
cd 文件夾名
# 需要上傳war文件,先退出容器
# 下載一個(gè)上傳工具lrzsz
exit
# 下載lrzsz(下載過程中都選y)
yum install lrzsz
# 下載好以后切換到根目錄
cd /opt
# 查看根目錄文件
ls
# 上傳war包
rz
# 查看是否上傳成功
ls
# 查看正在運(yùn)行的容器(方便復(fù)制ID)
docker ps
# 復(fù)制文件到容器下對應(yīng)的文件夾
# 文件夾路徑可以在上面【1】看到
docker cp 文件名.war 容器ID:文件夾路徑
# 進(jìn)入容器查看
docker exec -it 容器ID /bin/bash
# 查看文件
ls -l
# 進(jìn)入放文件的文件夾
cd 文件夾名
# 查看文件(確認(rèn)是否復(fù)制過來了)
# 一般都是復(fù)制到Tomcat的webapps文件夾中
# 如果Tomcat正在運(yùn)行,會(huì)自動(dòng)將war包解包
ls -l
現(xiàn)在就已經(jīng)把項(xiàng)目部署到了測試環(huán)境了。
訪問項(xiàng)目
http://IPADDR中設(shè)置的IP地址:9999/項(xiàng)目名稱
聯(lián)系客服