Git Product home page Git Product logo

docker_practice's Introduction

Docker — 从入门到实践

v1.3.0

语言 -
简体中文 阅读

Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效和轻松!

无论是应用开发者、运维人员、还是其他信息技术从业人员,都有必要认识和掌握 Docker,节约有限的生命。

本书既适用于具备基础 Linux 知识的 Docker 初学者,也希望可供理解原理和实现的高级用户参考。同时,书中给出的实践案例,可供在进行实际部署时借鉴。前六章为基础内容,供用户理解 Docker 的基本概念和操作;7 ~ 9 章介绍包括数据管理、网络等高级操作;第 10 ~ 12 章介绍了容器生态中的几个核心项目;13、14 章讨论了关于 Docker 安全和实现技术等高级话题。后续章节则分别介绍包括 Etcd、Fedora CoreOS、Kubernetes、容器云等相关热门开源项目。最后,还展示了使用容器技术的典型的应用场景和实践案例。

Docker 自身仍在快速发展中,生态环境也在蓬勃成长。建议初学者使用最新稳定版本的 Docker 进行学习实践。欢迎 参与项目维护

微信小程序

微信扫码 随时随地阅读~

技术交流

微信扫码 加入群聊~ 或者微信添加 dpsigs 邀请入群

欢迎加入 Docker 技术交流 QQ 群,分享 Docker 资源,交流 Docker 技术。

  • QQ 群 I (已满):341410255
  • QQ 群 II (已满):419042067
  • QQ 群 III (已满):210028779
  • QQ 群 IV (已满):483702734
  • QQ 群 V (已满):460598761
  • QQ 群 VI (已满):581983671
  • QQ 群 VII (已满):252403484
  • QQ 群 VIII(已满):544818750
  • QQ 群 IX (已满):571502246
  • QQ 群 X (可加):145983035

如果有容器技术相关的疑问,请通过 Issues 来提出。

进阶学习

Docker 技术入门与实战》第三版已经面世,介绍最新的容器技术栈,欢迎大家阅读使用并反馈建议。

鼓励项目

欢迎鼓励项目一杯 coffee~

docker_practice's People

Contributors

374632897 avatar aisensiy avatar auroraeffect avatar catroll avatar codeshold avatar copuzzle avatar custa avatar cxjava avatar cybcom avatar daixiang0 avatar dayiguizhen avatar dreampuf avatar hellozrh avatar hsgui avatar jzk avatar khs1994 avatar lushiping avatar muicoder avatar mzeht avatar qiuyin avatar rio-2607 avatar shuizhongyueming avatar silenceper avatar twang2218 avatar vra avatar yeasy avatar yongchengzhao avatar yougg avatar ytgs avatar zhangbaitong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker_practice's Issues

The wrong words

Link: https://yeasy.gitbooks.io/docker_practice/content/image/dockerfile/env.html
✘-2 ~/Downloads/docker_practice [master|✔]
16:40 $ grep '使用使用' -r *
image/dockerfile/env.md:这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN,还是运行时的应用,都可以直接使用使用这里定义的环境变量。

Link: https://yeasy.gitbooks.io/docker_practice/content/image/other.html
image/other.md:导入成功后,我们可以用 docker ps 看到这个导入的镜像:

QQ群号码错误

QQ 群 X (可加):366203473 这个群号码搜索后的结果是音乐群。是否写错号码了?

homebrew安装docker

希望在“macOS 操作系统安装 Docker”章节中加入“homebrew安装docker”的使用方式

错别字

kubernetes/concepts.md 129行 “出发”应该是“触发”吧

操作容器一章中的nsenter

这个命令现在不再是必须的了,现在docker官方已经提供了下面这个命令
docker exec CONTAINER_NAME /bin/bash
可以避免使用nsenter了

english version?

docker practice looks awesome, any plans to translated it to english?

Add English version of this document

I am new to docker. I have been learning it mostly by reading articles in web and trying them on my own. I came across this github page and it looks really easy for newcomer to understand nits and grits. I use Google translate to translate Chinese, I can understand almost everything. But, I think it would be good if there is English translation for this. I want to make a feature request for translating these document to English.

在kindle上閱讀,字體顏色太淡

你好,我在kindle touch上閱讀時,發現字體顏色偏淡變成淺灰色,不是純黑,閱讀起來會覺得有點吃力,請問有什麼方式能讓字體顏色正確呢?謝謝。

ubuntu添加 Docker 的官方 apt 软件源时有问题

按照如下操作有问题,会报-bash: /etc/apt/sources.list.d/docker.list: Permission denied
不得已,已经通过手动vi完成

接下来就可以添加 Docker 的官方 apt 软件源了。通过下面命令创建 /etc/apt/sources.list.d/docker.list 文件,并写入源的地址内容。非 trusty 版本的系统注意修改为自己对应的代号。

$ sudo cat <<EOF > /etc/apt/sources.list.d/docker.list
deb https://apt.dockerproject.org/repo ubuntu-trusty main
EOF

win10的linux子系统安装docker有问题

系统内核应该是ubuntu 14.04的,有人验证过吗?
我在添加 /etc/apt/sources.list.d/docker.list完之后,执行sudo apt-get update
最后几行报错:

Fetched 11.8 MB in 41s (280 kB/s)
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-amd64/Packages Hash Sum mismatch

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/restricted/binary-amd64/Packages Hash Sum mismatch

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/universe/binary-amd64/Packages Hash Sum mismatch

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/multiverse/binary-amd64/Packages Hash Sum mismatch

E: Some index files failed to download. They have been ignored, or old ones used instead.

然后导致执行 sudo apt-get install -y linux-image-extra-$(uname -r)时报错:

E: Unable to locate package linux-image-extra-3.4.0
E: Couldn't find any package by regex 'linux-image-extra-3.4.0'

docker_practice/README.md 内容重复

Docker 是个伟大的项目,它彻底释放了虚拟化的威力,极大降低了云计算资源供应的成本,同时让应用的分发、测试、部署和分发都变得前所未有的高效和轻松

上面的内容中,分发出现了两次:【同时让应用的分发、测试、部署和分发都变得前所未有的高效和轻松】

关于创建image的一段描述

$ sudo docker run -t -i training/sinatra /bin/bash
root@0b2616b0e5a8:/# gem install json

当结束后,我们使用 exit 来退出,现在我们的容器已经被我们改变了,使用 docker commit 命令来提交更新后的副本。

用exit退出container里的bash会话,这个container也就结束了,后面commit时候指定container id已经不能用了。

应该是另外打开一个终端执行commit吧?

book.json 缺少plugins

全部的插件配置应该是:
"plugins": [
"image-captions",
"github-buttons",
"fontsettings",
"livereload",
"highlight",
"lunr",
"sharing",
"search"
]
`

onbuild不成功

您好,根据onbuild章节的内容,不能成功build镜像,具体如下;

  • ONBUILD的Dockerfile内容如下:
FROM node:slim
RUN "mkdir /app"
WORKDIR /app
ONBUILD COPY ./package.json /app
ONBUILD RUN [ "npm", "install" ]
ONBUILD COPY . /app/
CMD [ "npm", "start" ]
  • 对其进行docker build时出现如下error:
    image

笔误 - image "Untagged 和 Deleted" 章节

有时候会发现所删除的层数和自己 docker pull 看到的层数不一样的源。
除了镜像依赖意外,还需要注意的是容器对镜像的依赖。如果有用这个镜像启动的
容器存在(即使容器没有运行),那么同样不可以删除这个镜像。

建议将镜像加速器章节移至安装章节

加速器的配置在国内使用是必须的,否则接下来的镜像、容器章节的命令会很难执行。现在读者很可能读到了后面的加速器章节才知道问题出在哪里、应该如何配置。因此建议将其移至安装章节,作为安装后的配置部分存在。

安装仓库的问题

centos安装docker-registry其中的命令应该是sudo pip install docker-registry吧,我用python-pip命令是执行失败。centos版本gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)

wrong path

https://yeasy.gitbooks.io/docker_practice/content/repository/local_repo.html

默认情况下,仓库会被创建在容器的 /tmp/registry 下。可以通过 -v 参数来将镜像文件存放在本地的指定路径。 例如下面的例子将上传的镜像放到 /opt/data/registry 目录。

$ sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry

should be $ sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

111https://docs.docker.com/registry/deploying/

Recommend to use a plugin for generating "Treeview" for each article in the book

gitbook-treeview is a Gitbook plugin designed for generating structures for articles of a book. As the following picture shown, the main structure of a whole article has been clearly shown before contents, and each title has also been directed to a corresponding part. Docker Practice is a large book, which has integrated with Gitbook, and I hope that the plugin can helps to enhance readability. If you like it, I hope you can star my project too, and thanks for your appreciations. As for the picture, it's an article named "Asynchronous Programming" in my personal wiki book.

gitbook treeview

關於繁體版出實體書

yeasy 您好:
因 Docker.Taipei 社群受惠於您的開放著作,並以社群力量翻譯成繁體版。日前碁峰出版社與 Docker.Taipei 接洽,希望能印製實體書籍,礙於之前授權只同意 gitbook 網上閱讀,須經您同意才可後續出版事宜,繁體版也會增加台灣系統案例等章節,所有繁體版稅將全數用於 Docker 技術推廣和社群使用。還請 yeasy 您告知,無論同意與否,再次感謝您的貢獻和無私分享,非常謝謝您!

关于bashrc_docker

我在使用github上的bashrc脚本时docker-enter报出错误:
dirname: invalid option -- 'b'
Try 'dirname --help' for more information.
我在检查错误是发现此时$0为-bash,我把所有的$0替换成了$BASH_SOURCE[0]后问题解决了。我的环境为centos7,bash version:GNU bash, version 4.2.45(1)-release (x86_64-redhat-linux-gnu)

访问仓库:私有仓库的说明步骤混乱

哪些步骤是先后顺序,哪些步骤是并列顺序等等。整个来说就是逻辑不清晰,步骤顺序混乱,对于没用过docker的来说,完全不知道具体怎么操作。我只能又在网上另外搜索搭建私有仓库

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.