-
Notifications
You must be signed in to change notification settings - Fork 19
DockerAdvance
目录 start
目录 end|2020-04-27 23:42|
Docker支持 AUFS、Btrfs、Device mapper、OverlayFS、Overlay2FS、ZFS
Docker旧版本 采用的是 AUFS 文件系统
参考: 剖析Docker文件系统:Aufs与Devicemapper 参考: 理解Docker(7):Docker 存储 - AUFS
最新的Docker都是采用这种文件系统, 并具有 overlay overlay2 两代驱动
查看占用大小 docker system df
docker 默认是将数据放在了
/var/lib/docker
下, 包括所有的镜像, 容器, 卷...
挂载新的目录到 /var/lib/docker 上
service docker stop
cp -prf /var/lib/docker /data/
rm -rf /var/lib/docker
vi /etc/fstab # 追加一下内容:
/data/docker /var/lib/docker none bind 0 0
mount -a
service docker start
- 还尝试过将文件复制出去, 然后用软链接的方式, 但是失败了 报的错也没怎么看懂
- 修改配置文件
-g, --graph=""
Path to use as the root of the Docker runtime. Default is /var/lib/docker.
如 docker -d --graph=/opt/docker
docker daemon 的启动参数修改方法
rhel/centos 下, 默认启动参数在 /etc/sysconfig/docker, 如:
6.x:
other_args="--graph=/opt/docker "
7.x: (update: 2015-01-21)
OPTIONS="--graph=/opt/docker "
debian/ubuntu 下, 默认启动参数在 /etc/default/docker, 如:
DOCKER_OPTS="--graph=/opt/docker "
- systemctl edit docker.service
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
以上所处文件为: /etc/systemd/system/docker.service.d/override.conf
注意:
-H unix:///var/run/docker.sock
如果少了这个配置, Docker客户端就失效了, 什么都干不了
- systemctl restart docker
而那些不是使用systemd管理服务的才要在 /etc/docker/ 下配置 daemon.json official doc
将
/var/run/docker.sock
的访问权限 提供给使用方即可
WARNING: No swap limit support
- Edit the /etc/default/grub file.
- Set the GRUB_CMDLINE_LINUX value as follows:
- GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
- sudo update-grub
- Reboot your system.
进程相关知识
当父进程结束后,原来的僵死子进程, 会成为孤儿进程且是僵死进程, 此时会被1号进程收养
参考: Docker和孤儿进程、僵死进程
在 Docker 中, 由于没有 init 这个1号进程(往往是应用进程作为1号进程) 很有可能子进程称为僵死进程且一直存在
Docker1.11之前的版本,孤儿进程是否有可能成为僵死进程取决于容器内pid为1的进程是否在子进程退出时调用wait/waitpid
Docker1.11版本之后孤儿进程不会成为僵死进程
解决策略
tini
tini 轻量级init进程 更好的管理进程等资源
-
【 Algorithm 】
-
【 Blog 】
-
【 C 】
-
【 Database 】
-
【 Distributed 】
-
【 FrontEnd 】
- 【 FrontEnd/Frame 】
- 【 FrontEnd/Node 】
- Font
- Hexo
- JavaScript
- LearnPS
- ResponseCode
- SVG
- ViewSolution
- extjs学习笔记
-
【 Functional 】
-
【 Go 】
-
【 Groovy 】
-
【 Java 】
- 【 Java/AdvancedLearning 】
- 【 JavaBasic 】
- 【 JavaCache 】
- 【 JavaCollection 】
- 【 JavaConcurrency 】
- 【 JavaMap 】
- Annotation
- ClassFile
- Collection
- Concurrency
- Deploy
- Exception
- ExtendsAndInterface
- Generics
- IO
- JDBC
- JDKAndJRE
- JMX
- JVM
- Java11
- Java7
- Java8
- JavaNetwork
- JavaReleaseVersion
- JavaWeb
- JvmPerformance
- MQ
- MultipleLanguage
- Proxy
- Reflection
- Serialize
- SyntaxAndType
- Thread
- WebPerformance
- 【 Java/Android 】
- 【 Java/Ecosystem 】
- 【 Java/MSA 】
- 【 Java/Spring 】
- 【 Java/TemplateEngine 】
- 【 Java/Test 】
- 【 Java/Tool 】
- 【 Java/thread 】
- AlibabaJavaStandard
- DesignPattern
- HashMap解析
- Java-NIO
- Java虚拟机
- Log
- MIS
- Quartz
- RESTful
- WebSocket学习笔记
- ZooKeeper学习笔记
- android学习笔记
- 【 Java/AdvancedLearning 】
-
【 Kotlin 】
-
【 Linux 】
- 【 Linux/Alpine 】
- 【 Linux/Arch 】
- 【 Linux/Base 】
- 【 Linux/Centos 】
- 【 Linux/Container 】
- 【 Linux/Debian 】
- 【 Linux/Tool 】
- JavaDevInit
- Linux系统学习
-
【 MyBlog 】
-
【 Python 】
- 【 Python/Tool 】
- Python
- PythonConcurrent
- PythonGUI
- PythonGame
- PythonNet
- PythonOffices
- PythonWeb
- Python基础
- Python核心学习
-
【 Reactive 】
-
【 Rust 】
-
【 Scala 】
-
【 Script 】
-
【 Skills 】
- 【 Skills/Application 】
- 【 Skills/CS 】
- 【 Skills/Cache 】
- 【 Skills/Councurrency 】
- 【 Skills/DevOps 】
- 【 Skills/Document 】
- 【 Skills/Ecology 】
- 【 Skills/Network 】
- 【 Skills/Search 】
- 【 Skills/SoftwareEngineering 】
- 【 Skills/Spider 】
- 【 Skills/Test 】
- 【 Skills/Vcs 】
- 【 Skills/Work 】
- AppManual
- CelebrityQuotes
- Miscellaneous
- Platform
- Problem
- Protobuf
- RegularExpression
- SoftwareDesignEngineer
- Website
-
【 Windows 】