1. 程式人生 > >docker 部署應用

docker 部署應用

包括 ima image 解壓 容器 -perm 添加主機 tcp linu

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 部署應用