• 主页
  • 归档
  • 分类
  • 照片墙
所有文章 友情链接 关于我

  • 主页
  • 归档
  • 分类
  • 照片墙
  1. 1. 与宿主机共享网络
  2. 2. 镜像的备份与恢复
  3. 3. 容器的导出与导入
  4. 4. 容器内时区的错误
  5. 5. 清理容器日志

3.2、Docker(2)-使用技巧

2018-02-09 22:38:32
总字数 645
预计阅读时间 2 分钟

与宿主机共享网络

默认情况下 , 在宿主机可以根据容器暴露出的端口来访问容器中启动的服务
但是由于容器的隔离 , 在容器内部是无法访问宿主机的服务的
如果有这种需要 , 可以在启动容器的时候添加参数--net=host

作用就是使容器和宿主机共用网络

镜像的备份与恢复

docker的一个重要目标就是方便实现迁移
对于一个镜像 , 也可以打包出来作为备份 , 或者迁移到其他机器上

对于镜像的导出与导入操作 , 使用的是save和load

1
2
3
4
5
# 备份
docker save -o dump.tar [ImageId]

# 恢复
docker load < dump.tar

继承的镜像也会一同打包进去
再次导入之后 , 该镜像就不再作为一个子镜像存在了
比如该镜像继承jre镜像 , 那么打包之后的tar包当中直接包含jre镜像的内容

容器的导出与导入

要将一个容器进行导出与导入 , 使用的是export和import

1
2
3
4
5
# 导出容器
docker export [ContainerId] > demo.tar

# 导入容器
docker import demo.tar [ImageName][:Tag]

容器内时区的错误

如果容器当中的程序在执行中需要获取当前时间并进行格式化
若没有特别指定 , 通常会读取操作系统的时区设定
由于容器内是一个独立的环境 , 这个设定有可能不正确

如果出现这类错误( 比如程序获取当前时间写入到数据库 , 时间提前了8小时 )
可以在构建镜像的时候执行如下命令 , 来指定容器内的时区

1
echo "Asia/Shanghai" > /etc/timezone

也就是设定时区为东八区

清理容器日志

如果容器内运行的程序在控制台输出的内容过多, 这些内容都会保存在容器日志当中
久而久之会导致容器日志文件过大

容器的日志文件通常在/var/lib/docker/containers/容器ID/当中
其中的[容器ID]-json.log文件就是容器的日志文件
比如容器ID是123 , 我们可以使用下面的命令来清空这个文件

1
cat /dev/null > 123-json.log

也可以写一个批量清理的shell脚本来执行

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
echo "=== start clean docker containers logs ==="

logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean logs : ${log}"
cat /dev/null > ${log}
done

echo "=== end clean docker containers logs ==="
  • linux
  • docker
  • linux

扫一扫,分享到微信

3.3、Docker(3)-部署wordpress实践
3.1、Docker(1)-初见 
© 2024 夏夜梦星辰
鲁ICP备19028444号
Power By Hexo
  • 所有文章
  • 友情链接
  • 关于我
{{searchItem.query}}
标签: 分类:
  • maven
  • 持续集成
  • JMS
  • 线程
  • JavaScript
  • ECMAScript6
  • 单元测试
  • Promise
  • Web Worker
  • 函数
  • prototype
  • 模块化
  • 正则表达式
  • 数据库
  • MongoDB
  • 索引
  • 集群
  • 全文检索
  • flutter
  • dart
  • git
  • 版本控制
  • linux
  • shell
  • docker
  • nginx
  • jenkins
  • opencv
  • vim
  • react
  • react native
  • 前端
  • css
  • HTML5
  • Hexo
  • sass
  • Three.js
  • TypeScript
  • Vue
  • 组件化
  • base64
  • webpack
  • nodejs
  • gulp
  • TensorFlow
  • 机器学习
  • 算法
  • 动态规划
  • 数据结构
  • Java
  • JavaScript
  • MongoDB
  • flutter
  • Git
  • linux
  • react
  • 前端杂烩
  • 男生女生
  • 算法
  • 十年饮冰,难凉热血
  • †少女癌†
  • 猫与向日葵
  • coderfun
  • JENKINS
  • API管理后台
愿你最终能接纳每一面每一种的自己
独自活着便是团圆