1.Docker容器时间与主机时间不一致的问题
共享主机的localtime
创建容器的时候指定启动参数,挂载localtime文件到容器内,保证两者所采用的时区是一致的
docker run --name <name> -v /etc/localtime:/etc/localtime:ro
docker -v
作用:挂载宿主机的一个目录
例如
宿主机的/test目录挂载到容器的/soft目录
docker run -it -v /test:/soft centos /bin/bash
冒号":" 前面的目录是宿主机目录, 后面的目录是容器内目录
容器目录不可以为相对路径
宿主机目录如果不存在,则会自动生成
可以通过inspect查看宿主机的目录
docker 运行容器时指定 --sysctl参数来设置系统参数
net.core.somaxconn 是Linux的一个kernel参数,表示socket监听(listen)的backlog上限。
--rm
在Docker容器退出时,默认容器内的文件系统仍然被保留,以方便调试并保留用户数据.
但是,对于foreground容器,由于其只是在开发调试过程中短期运行,其用户数据并无保留的必要,因而可以在容器启动时设置
--rm 选项,这样在容器退出时就能够自动清理容器内部的文件系统
--rm 选项与 -d 同时使用,即只能自动清理foreground容器,不能自动清理detached容器
--rm 选项也会清理容器的匿名 data volumes
docker logs -f bf08b7f2cd89
-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出
docker-compose up 命令
格式:docker-compose up [options] [SERVICE...]
该命令可以自动完成包括构建镜像,创建服务,启动服务,并关联服务相关容器的一系列操作
docker -compose up 启动的容器都在前台,控制台将会同时打印所有容器的输出信息,可以很方便进行调试
> docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
> 选项包括:
> -d 在后台运行服务容器
> -no-color 不是有颜色来区分不同的服务的控制输出
> -no-deps 不启动服务所链接的容器
> --force-recreate 强制重新创建容器,不能与-no-recreate同时使用
> –no-recreate 如果容器已经存在,则不重新创建,不能与–force-recreate同时使用
> –no-build 不自动构建缺失的服务镜像
> –build 在启动容器前构建服务镜像
> –abort-on-container-exit 停止所有容器,如果任何一个容器被停止,不能与-d同时使用
> -t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)
> –remove-orphans 删除服务中没有在compose文件中定义的容器
docker -compose down
> docker-compose down [options]
> 停止和删除容器、网络、卷、镜像。
> 选项包括:
> –rmi type,删除镜像,类型必须是:all,删除compose文件中> 定义的所有镜像;local,删除镜像名为空的镜像
> -v, –volumes,删除已经在compose文件中定义的和匿名的附在> 容器上的数据卷
> –remove-orphans,删除服务中没有在compose中定义的容器
> docker-compose down
> 停用移除所有容器以及网络相关