在生产环境使用 Docker

本文是对官方文档的总结与备注。

官方文档:https://docs.docker.com/engine/userguide/

配置 Docker

手动启动 Docker

这一部分内容详情可以查看:https://www.khs1994.com/docker/dockerd.html

$ sudo docked

自动启动容器

https://docs.docker.com/engine/admin/start-containers-automatically/

$ docker run --restart no | on-failure | unless-stopped | always

限制容器资源

https://docs.docker.com/engine/admin/resource_constraints/

内存

-m--memory=4m

--memory-swap

--memory-swappiness

--memory-reservation

--kernel-memory

--oom-kill-disable

CPU

--cpus

--cpu-period

--cpu-quota

--cpuset-cpus

--cpu-shares

清除无用数据

https://docs.docker.com/engine/admin/pruning/

https://www.khs1994.com/docker/prune.html

Keep containers alive during daemon downtime

https://docs.docker.com/engine/admin/live-restore/

systemd

https://docs.docker.com/engine/admin/systemd/

使用本地私有 Docker 仓库

https://www.khs1994.com/docker/registry.html

容器日志

https://docs.docker.com/engine/admin/logging/view_container_logs/

$ docker logs CONTAINER_NAME

$ docker service logs SERVICE_NAME

日志驱动

安全

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

Swarm mode

存储配置数据

https://docs.docker.com/engine/swarm/configs/

docker config 命令

redis 为例

$ echo "This is a config" | docker config create my-config -

# 配置文件默认挂载到 /my-config ,也可以通过 target 进行配置

$ docker service  create \
    --name redis \
    # --config my-config \
    --config source=my-config,target=/config/path \
    redis:alpine

$ docker config ls

# 当配置文件被使用时,不能删除

$ docker config rm my-config

存储敏感数据

https://docs.docker.com/engine/swarm/secrets/

docker secret 命令

nginx 为例

$ docker secret create site.key site.key

$ docker secret create site.crt site.crt

$ docker secret create site.conf site.conf

$ docker secret ls

# 默认挂载到 /run/secrets/*** ,你可以通过 target 配置

$ docker service create \
     --name nginx \
     --secret site.key \
     --secret site.crt \
     --secret source=site.conf,target=/etc/nginx/conf.d/site.conf \
     --publish target=3000,port=443 \
     nginx:latest \
     sh -c "exec nginx -g 'daemon off;'"

在一个容器中运行多个服务

https://docs.docker.com/engine/admin/multi-service_container/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吴伟祥

Docker学习——Docker 三剑客(七) 顶

1591
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Docker和Docker Compose配置持续集成测试环境

持续集成(CI)指的是开发人员尽可能频繁地集成代码,并且在自动化构建将每个提交合并到共享存储库之前和之后都要进行测试的实践。

530
来自专栏holer

外网访问内网Docker容器

局域网里的主机上安装了Docker容器,只能在内网访问,怎样从外网也能访问内网的Docker容器?

2571
来自专栏宝哥的专栏

Docker系列学习文章 - 存储基本配置(八)

| 导语 通过前面的文章学会后,我们运行一个容器,打包制作一个镜像没啥问题了。但是要真正在生产上运用docker,我们还差两招很重要的。一个是数据卷的配置,还有...

1.5K26
来自专栏性能与架构

Docker容器案例:应用 Mysql

前阶段体验 Mysql 的新版本 5.7.13,由于机器里已经有 Mysql了,再安装另一个版本会有一些麻烦,为了简单,便使用 Docker 容器来安装 可能有...

3313

Docker Hub:保存并分享你的Docker镜像

Docker Hub 是一个基于云的注册服务网站,提供容器应用或容器服务的构建功能。

2416
来自专栏技术翻译

十大Docker记录问题

Docker不仅改变了应用程序的部署方式,还改变了日志管理的工作流程。容器将日志写入控制台(stdout / stderr),而Docker Logging D...

2404
来自专栏JMCui

Docker 系列六(Docker Swarm 项目).

    随着互联网快速发展,以及微服务架构的流行,服务器的压力越来越大。上一篇介绍的 Docker Compose 项目,可以将多个容器捏合在一起,实现容器间的...

874
来自专栏崔庆才的专栏

Docker 入门教程

1673
来自专栏阮一峰的网络日志

Docker 入门教程

2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业。 但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文...

3493

扫码关注云+社区

领取腾讯云代金券