docker常用操作,希望有这一篇就够了

2018-11-30  本文已影响9人  青岛大桥_Android到后端
  1. docker的安装
    https://docs.docker.com/install/linux/docker-ce/centos/#install-docker-ce

  2. docker的架构

image.png
文章出自 http://www.cnblogs.com/SzeCheng/p/6822905.html
  1. docker常用命令
    docker images 查看镜像
    docker ps 查看正在运行的container (可见container是个进程,要不怎么用ps这个参数)
    docker ps -a 查看所有运行的container
    docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
    会输出一个id: 很长,像是个SHA1
    docker ps会显示所有运行的container
    docker stop 23fa9ba04dc1

最喜欢的指令来了,在部署war到tomcat的命令,用docker cp拷贝你的war到指定container id的webapps目录下。为了最简单,直接改个ROOT.war.当然,你可以先把里面的ROOT目录做下备份,我是把它mv成了ROOT.originalbak
docker cp my.war d5976ac66e81:/usr/local/tomcat/webapps/ROOT.war

  1. 安装个tomcat试试
    1.docker安装tomcat8

<1>搜索tomcat镜像文件信息

  docker search tomcat

<2>拉取对应的镜像文件

  docker pull tomcat:8

<3>启动验证tomcat

docker run --privileged=true -v /usr/local/tomcat/webapp:/opt/tomcatdocker -p 8080:8080 --name gracedemo tomcat:8

  -p 后面为端口映射:宿主主机端口:docker容器端口

然后,就是令人激动的tomcat 启动的日志打印出来了。但是,过了好久(大约1分钟吧),才能访问,不知道为什么。哦,记得在云的安全组开放自己的8080端口。

  1. 更加正统的创建container并运行的方式
    1)创建自定义的image
    需要写Dockerfile,我的如下
    [root@VM_0_10_centos gracedemo]# cat Dockerfile
    FROM tomcat
    MAINTAINER "javasdk@163.com"
    RUN ["mv", "/usr/local/tomcat/webapps/ROOT", "/usr/local/tomcat/webapps/ROOTorigin"]
    COPY my.war /usr/local/tomcat/webapps/ROOT.war
    CMD ["catalina.sh", "run"]

以上可以看到,把我们编译好的war和Dockerfile在同一目录下,假定叫my.war
然后先修改原来tomcat镜像下的ROOT为Rootorigin目录,然后把我们的my.war拷贝并重命名为ROOT.war
这样最后在tomcat真实启动时,会把我们的ROOT.war自动解压成ROOT目录并执行

根据Dockerfile创建image的命令是:
docker build -t mytomcat:v4 . 注意最后是一个点,代表在当前路径下去找Dockerfile, 感觉有点编程的Makefile意思啊。

2)运用交互式来查看我们创建的镜像是否符合我们预期
docker run -it mytomcat:v4 /bin/bash
嗯,我们可以去tomcat的webapps下看一下,的确ROOT目录被我们改成ROOTorigin目录了。

按CTRL+C停止这个container

  1. 真正创建这个 container
    docker run --privileged=true -p 8080:8080 --name gracedemo4 mytomcat:v4

然后查看一下这个镜像
[root@VM_0_10_centos gracedemo]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3946fb77296c mytomcat:v4 "catalina.sh run" 20 minutes ago Up 17 minutes 0.0.0.0:8080->8080/tcp gracedemo4
07f8f956d516 uifd/ui-for-docker "/ui-for-docker" 27 hours ago Up 16 hours 0.0.0.0:9000->9000/tcp docker-web

4)最后去试验
在浏览器地址输入 外网地址XX.XX.XX.XX:8080。 能访问到网页了
OKAY

上一篇 下一篇

猜你喜欢

热点阅读