docker 命令总结
docker status 查看容器运行使用的资源
# service 命令的用法
$ sudo service docker start
# systemctl 命令的用法
$ sudo systemctl start docker
# 列出本机的所有 image 文件。
$ docker image ls
# 删除 image 文件
$ docker image rm [imageName]
# 列出本机正在运行的容器
$ docker container ls
# 列出本机所有容器,包括终止运行的容器
$ docker container ls --all
编写 Dockerfile 文件
新建一个文本文件.dockerignore
写入一下内容
.git
node_modules
npm-debug.log
表示忽略的文件
新建一个文本文件 Dockerfile
写入下面的内容
FROM node:8.4
COPY . /app 拷贝文件
WORKDIR /app 工作目录
RUN npm install ***** 运行命令
EXPOSE 3000 暴露端口
$ docker image build -t koa-demo .
# 或者
$ docker image build -t koa-demo:0.0.1 .
-t参数用来指定 image 文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest。最后的那个点表示 Dockerfile 文件所在的路径,上例是当前路径,所以是一个点
docker-compose 的使用 首先安装一下compose 参看文档
编写yml文件
mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456 # mysql 密码
- MYSQL_DATABASE=wordpress # 数据库名
web:
image: wordpress
links:
- mysql
environment:
- WORDPRESS_DB_PASSWORD=123456
ports:
- "127.0.0.3:8080:80" # 端口映射
working_dir: /var/www/html # 工作目录
volumes:
- wordpress:/var/www/html # 文件映射
docker-compose up
启动两个容器
进入docker bash 命令
docker exec -it CONTAINER_ID bash
如果遇见docker没有 vi
就需要把docker的文件cp出来
docker cp containerID:container_path host_path //从容器复制到主机
然后修改,再把文件cp回去,注意文件的权限是否一直
docker cp host_path containerID:container_path //从主机复制到容器
docker查看日志记录
命令格式:
$ docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
例子:
查看指定时间后的日志,只显示最后100行:
$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
查看最近30分钟的日志:
$ docker logs --since 30m CONTAINER_ID
查看某时间之后的日志:
$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
查看某时间段日志:
$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID