前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 实践遇到的问题(持续更新)

Docker 实践遇到的问题(持续更新)

作者头像
康怀帅
发布2018-02-28 16:01:42
1.5K0
发布2018-02-28 16:01:42
举报
文章被收录于专栏:康怀帅的专栏

本文列举了使用 Docker 过程中遇到的问题。

时区

基于 Debian 的镜像通过设置 环境变量 改变时区,在 Dockerfile 中增加 ENV 或在启动容器时指定 $ docker run -e TZ=Asia/Shanghai ...

代码语言:javascript
复制
ENV TZ=Asia/Shanghai

基于 Alpine 的镜像先安装 tzdate,再设置环境变量

代码语言:javascript
复制
RUN apk add --no-cache tzdata

ENV TZ=Asia/Shanghai

交叉运行

https://github.com/justincormack/cross-docker

x86_64 架构运行其他架构( armhf 等)容器,原理是运用 QEMU

macOS 不用以上脚本,实际测试中与树莓派对比,性能较差,毕竟是虚拟机。

网络

macOS

macOS 不能 ping 通容器(Linux docker0 默认为 172.17.0.1),所以容器想要 ping 主机,必须填写路由器分配给主机的 IP(192.168.199.100,而不是 172.17.0.1)。

DNS、host

不能在文件中写入配置,写入也不生效。在 daemon.json 中可以配置 DNS , 设置 hosts 请通过 docker builddocker run 时的命令参数进行设置。

使用 Docker Compose

本博客系列文章运行容器方式由 docker run 转变为 docker-compose

必须使用 .env.example 文件来定义变量。使用时将 .env.example 复制为 .env 文件。

规范

一个容器,一个服务

比如不要在一个容器中安装 LNMP,可以使用 Docker Compose 分配到 3 个容器,集中启动、管理。

一个容器运行多个服务:https://docs.docker.com/engine/admin/multi-service_container/

命令

使用 docker image 管理镜像 代替 docker images

使用 docker container 管理容器 代替 docker ps

使用 docker volume 管理数据卷

使用 docker network 管理容器网络

数据管理

详细内容请查看 Docker 数据管理

开发环境

Use bind mounts to give your container access to your source code

生产环境

Use volumes to store container data.

不赞成使用

容器互联

反对 --link,请使用自定义的 Docker 网络来连接多个容器

数据管理

反对 -v--volume,请使用 --mount

废弃功能

https://docs.docker.com/engine/deprecated/

More Information

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 时区
  • 交叉运行
  • 网络
    • macOS
      • DNS、host
      • 使用 Docker Compose
      • 规范
        • 一个容器,一个服务
        • 命令
        • 数据管理
          • 开发环境
            • 生产环境
            • 不赞成使用
              • 容器互联
                • 数据管理
                  • 废弃功能
                  • More Information
                  相关产品与服务
                  容器镜像服务
                  容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档