docker常用命令以及tomcat容器部署说明
image 文件
# 列出本机的所有 image 文件。 $ docker image ls # 删除 image 文件 $ docker image rm [imageName]
根据Dockerfile创建镜像
新建Dockerfile文件如下
FROM tomcat:8.0-jre8
#该image 文件继承官方的 tomcat image,冒号表示标签,这里标签是8.0-jre8
,即tomcat为8.0,jre为8的版本 MAINTAINER "kangjianrong<897666996@qq.com>" #定义工作目录 ENV WORK_PATH /usr/local/tomcat/conf
#解决java获取时区问题,java是通过获取timezone来设置时间 ENV TZ="Asia/Shanghai" ADD server.xml /usr/local/tomcat/conf/
#解决宿主机时区和容器时区同步的问题
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#创建image文件
docker image build -t koa-demo .
上面代码中,-t
参数用来指定 image 文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest
。最后的那个点表示 Dockerfile 文件所在的路径,上例是
当前路径,所以是一个点。
容器文件
# 列出本机正在运行的容器 $ docker container ls # 列出本机所有容器,包括终止运行的容器 $ docker container ls --all
# 删除指定的容器文件
$ docker container rm [containerID]
创建容器
#生成容器 docker run -d --name mingwork-box --rm --volume /alidata/server/docker/logs:/usr/local/tomcat/webapps/logs -v /alidata/server/docker/sourceCode/mingworkBox/target/mingworkBox.war:/usr/local/tomcat/webapps/mingworkBox.war -p 8001:8001 mingwork-box/tomcat
- -d:容器启动后,在后台运行。
- --rm:容器终止运行后,自动删除容器文件。
- --name wordpressdb:容器的名字叫做wordpressdb。
- -v : 将容器的文件映射到当前宿主机的文件。
- --volume:将容器的文件映射到当前宿主机的文件
查看日志
$ docker container logs mingwork-box
其他常用命令
docker 的主要用法就是上面这些,此外还有几个命令,也非常有用。
1、docker container start
$ docker container start [containerID]
前面的docker container run命令是新建容器,每运行一次,就会新建一个容器。同样的命令运行两次,就会生成两个一模一样的容器文件。如果希望重复使用容器,就要使用
docker container start命令,它用来启动已经生成、已经停止运行的容器文件。
(2)docker container stop
$ bash container stop [containerID]
前面的docker container kill命令终止容器运行,相当于向容器里面的主进程发出 SIGKILL 信号。而docker container stop命令也是用来终止容器运行,相当于向容器里面的主
进程发出 SIGTERM 信号,然后过一段时间再发出 SIGKILL 信号。
(3)docker container logs
$ docker container logs [containerID]
docker container logs命令用来查看 docker 容器的输出,即容器里面 Shell 的标准输出。如果docker run命令运行容器的时候,没有使用-it参数,就要用这个命令查看输出。
(4)docker container exec
$ docker container exec -it [containerID] /bin/bash
docker container exec命令用于进入一个正在运行的 docker 容器。如果docker run命令运行容器的时候,没有使用-it参数,就要用这个命令进入容器。一旦进入了容器,就可
以在容器的 Shell 执行命令了。
(5)docker container cp
$ docker container cp [containID]:[/path/to/file] .
docker container cp命令用于从正在运行的 Docker 容器里面,将文件拷贝到本机。下面是拷贝到当前目录的写法。
Dockerfile Commands Overview
- ADD: Copy a file from the host into the container
- CMD: Set default commands to be executed, or passed to the ENTRYPOINT
- ENTRYPOINT: Set the default entrypoint application inside the container
- ENV: Set environment variable (e.g. key = value)
- EXPOSE: Expose a port to outside
- FROM: Set the base image to use
- MAINTAINER: Set the author / owner data of the Dockerfile
- RUN: Run a command and commit the ending result (container) image
- USER: Set the user to run the containers from the image
- VOLUME: Mount a directory from the host to the container
- WORKDIR: Set the directory for the directives of CMD to be executed
参考:
http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html