docker 部署应用

Posted yizhipanghu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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创建容器,映射端口,挂载目录:

    [[email protected]]# 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 部署应用的主要内容,如果未能解决你的问题,请参考以下文章

使用docker部署一个go应用

阿里云服务器-docker部署 web 应用(端口号)

docker(部署常见应用):docker部署nginx

简单描述在docker上部署nginx应用和在集群中部署的区

docker 部署FATE

在生产环境使用Docker部署应用