docker images
docker ps -a
docker run --name 容器名 -idt 镜像名
docker start 容器ID
docker stop 容器ID
docker rm 容器ID
docker rmi 镜像名
docker search 镜像名
docker pull 镜像名
docker exec -it 容器名 /bin/bash
exit
docker commit -m="描述信息" -a="作者" 容器ID 目标镜像名
守护进程重启 systemctl daemon-reload
密集型数据处理和大型并行数据计算(通过并行提高吞吐量)
intel、nvidia、amd等
GPU有更多的计算单元ALU,擅长并发计算。
cuDNN是nvidia打造的神经网络运算加速库
CUDA是由nvidia推出的并行计算架构,用来管理计算单元ALU。
CUDA只能够在nvidia的GPU硬件上运行。
CUDA驱动程序向后兼容,特定版本CUDA编译的应用程序在后续(更高版本)的驱动程序中工作。
CUDA根据操作系统、硬件架构、发行版本来发布CUDA库,不支持跨平台。
OpenCL是一个跨平台的并行计算架构,适用于异构系统上的通用计算。
异构平台可由CPU、GPU、DSP、FPGA或其他类型的处理器搭建。
Warning:detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd".
执行kubeadm init集群初始化时遇到:
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd".
[警告IsDockerSystemdCheck]:检测到“cgroupfs”作为Docker cgroup驱动程序。 推荐的驱动程序是“systemd”。
所以我们更换一下驱动。
解决方法:修改docker
由于Ubuntu默认没有设置root,所以设置一下root用户
sudo passwd root
输入密码后,切换root用户:su root
在/etc/docker下创建daemon.json并编辑:
mkdir /etc/docker/daemon.json
加入以下内容:
{
"exec-opts":["native.cgroupdriver=systemd"]
}
重启docker
systemctl restart docker
systemctl status docker
守护进程重启 systemctl daemon-reload
docker daemon.json的作用
背景
docker安装后默认没有daemon.json这个配置文件,需要进行手动创建。配置文件的默认路径:/etc/docker/daemon.json
一般情况,配置文件 daemon.json中配置的项目参数,在启动参数中同样适用,有些可能不一样(具体可以查看官方文档),但需要注意的一点,配置文件中如果已经有某个配置项,则无法在启动参数中增加,会出现冲突的错误。
如果在daemon.json文件中进行配置,需要docker版本高于1.12.6(在这个版本上不生效,1.13.1以上是生效的)
参数
daemon.json文件可配置的参数表,我们在配置的过程中,只需要设置我们需要的参数即可,不必全部写出来。详细参考官网。
官方的配置地址:https://docs.docker.com/engine/reference/commandline/dockerd/
官方的配置地址:https://docs.docker.com/engine/reference/commandline/dockerd/
官方的配置地址:https://docs.docker.com/engine/reference/commandline/dockerd/
{
"api-cors-header":"",
"authorization-plugins":[],
"bip": "",
"bridge":"",
"cgroup-parent":"",
"cluster-store":"",
"cluster-store-opts":{
},
"cluster-advertise":"",
"debug": true,
"default-gateway":"",
"default-gateway-v6":"",
"default-runtime":"runc",
"default-ulimits":{
},
"disable-legacy-registry":false,
"dns": ["192.168.1.1"],
"dns-opts": [],
"dns-search": [],
索host.example.com 。 注意:如果不设置, Docker 会默认用主机上的 /etc/resolv.conf 来配置容器。
"exec-opts": [],
"exec-root":"",
"fixed-cidr":"",
"fixed-cidr-v6":"",
"graph":"/var/lib/docker", #已废弃,使用data-root代替,这个主要看docker的版本
"data-root":"/var/lib/docker", #Docker运行时使用的根路径,根路径下的内容稍后介绍,默认/var/lib/docker
"group": "",
"hosts": [],
"icc": false,
"insecure-registries": [],
"ip":"0.0.0.0",
"iptables": false,
"ipv6": false,
"ip-forward": false,
"ip-masq":false,
"labels":["nodeName=node-121"],
"live-restore": true,
"log-driver":"",
"log-level":"",
"log-opts": {
},
"max-concurrent-downloads":3,
"max-concurrent-uploads":5,
"mtu": 0,
"oom-score-adjust":-500,
"pidfile": "",
"raw-logs": false,
"registry-mirrors":["xxxx"],
"runtimes": {
"runc": {
"path": "runc"
},
"custom": {
"path":"/usr/local/bin/my-runc-replacement",
"runtimeArgs": [
"--debug"
]
}
},
"selinux-enabled": false,
"storage-driver":"",
"storage-opts": [],
"swarm-default-advertise-addr":"",
"tls": true,
"tlscacert": "",
"tlscert": "",
"tlskey": "",
"tlsverify": true,
"userland-proxy":false,
"userns-remap":""
}
上述是官网docs提供的一个示例配置,我们可以参考,选择性的配置其中的部分内容。
示例
1、如何配置 registry 私库相关的参数
涉及以下2个参数:
"insecure-registries": [],
"registry-mirrors": [],
2.配置示例:
{
"registry-mirrors": [
"https://d8b3zdiw.mirror.aliyuncs.com"
],
"insecure-registries": [
"https://ower.site.com"
]
}
配置与应用
1.默认没有文件,所以我们需要先创建,进入/etc/docker目录下,记得创建的文件所有者是root(vim或touch,记得chown修改所有者)
-rw-r--r-- 1 root root 71 Dec 19 17:25daemon.json
2.在文档中配置想要添加的参数:如,镜像加速器网站,私库网站
{
"registry-mirrors":[
"https://d8b3zdiw.mirror.aliyuncs.com"
],
"insecure-registries": [
"https://ower.site.com"
],
}
3.创建并修改完daemon.json文件后,需要让这个文件生效
a.修改完成后reload配置文件
sudo systemctl daemon-reload
b.重启docker服务
sudo systemctl restartdocker.service
c.查看状态
sudo systemctl status docker -l
d.查看服务
sudo docker info
总结
当我们需要对docker服务进行调整配置时,不用去修改主文件 docker.service的参数,通过daemon.json配置文件来管理,更为安全、合理。对于
Docker的配置文件 daemon.json 详解
配置文件的默认路径:/etc/docker/daemon.json
常用参数选项:
{
"registry-mirrors": ["http://harbor.test.com"],
"insecure-registries": ["harbor.test.com","registry.cn-shenzhen.aliyuncs.com"],
"max-concurrent-downloads": 10
}
部分参数(registry-mirrors、insecure-registries ...)修改,只要reconfigure(systemctl reload docker) 就生效:
这部分参数详细列表:https://docs.docker.com/engine/reference/commandline/dockerd/