docker 部署應用
Docker 部署應用
所需環境
Linux系統:centos7 (推薦7.4)
Docker環境:V1.13.1
鏡像:應用鏡像包
部署過程:
1、 docker環境搭建
a) 配置代理,可進行在線安裝docker (可直接聯網則無需配置)
b) Yum –y install docker 成功安裝docker
2、 docker的基本操作以及命令
a) 打開/關閉/重啟docker服務:sudo service docker start/stop/restart
b) 查看當前正在運行的容器:docker ps
c) 查看所有容器的狀態(包括已停止的):docker ps –a
d) 啟動/停止某個容器:docker start/stop id/name
e) 啟動一個偽終端以交互的方式進入某個容器(使用exit退出後,容器不會停止運行):docker exec –it id
f) 查看本地鏡像:docker images
g) 刪除某個容器:docker rm id/name
h) 刪除某個鏡像:docker rmi id/name
i) 創建一個容器分配一個偽終端並在後臺以交互模式運行:docker run –dit [image id] /bin/bash
j) 退出容器:exit
應用部署
1、 上傳開發提供的鏡像zip包至宿主機,用unzip命令解壓該包,解壓後為一個tar包。unzip xxxxxx.zip
2、 將解壓後的tar包載入docker成為一個鏡像:docker load –i /xxx/xxx/xxx.tar (該tar包的絕對路徑)
3、 查看鏡像ID並創建容器映射端口:
a) 查看鏡像:docker images
b) 通過鏡像ID創建容器,映射端口,掛載目錄:
[root@localhost]# docker run -dit --name=sp --privileged --device=/dev/mem -v /etc/localtime:/etc/localtime \
> -p 21:21 \
> -p 8080:8080 \
> -p 8443:8443 \
> -p 2203:22 \
> [images id] /bin/bash #無中括號
--name=sp #指定容器名字,後續可以通過名字進行容器管理
--privileged #privileged啟動的容器,可以看到很多host上的設備,並且可以執行mount
--device=/dev/mem #添加主機設備給容器,相當於設備直通
-v /etc/localtime:/etc/localtime –v licData:licData #掛載時區和lic文件
-p #將容器的端口映射到主機端口上
/bin/bash #載入容器後運行bash ,docker中必須要保持一個進程的運行,要不然整個容器就會退出。
4、 創建完容器後需開啟映射過的端口
添加
firewall-cmd --zone=public --add-port=8080/tcp --permanent (--permanent永久生效,沒有此參數重啟後失效)
重新載入
firewall-cmd –reload
5、至此部署完成,可遠程訪問該宿主機地址和映射的端口進行訪問
環境部署中遇到的問題
1、 docker容器和宿主機系統時間不一致問題
解決方法:掛載localtime文件到容器內 ,保證兩者所采用的時區是一致的
docker 部署應用