Docker配置整理
目录:
以非root用户身份管理Docker
默认情况下,Docker运行权限由用户root所有,而其他用户只能通过sudo使用它。Docker守护程序始终以root
用户身份运行。
如果不想在docker
命令前加上sudo
,需要创建一个名为docker的Unix组
并向其添加用户。
要创建docker
组并添加您的用户:
1.创建docker
组。
$ sudo groupadd docker
2.将您的用户添加到该docker
组。
$ sudo usermod -aG docker $USER
3.注销并重新登录,以便重新评估用户组的成员身份。
如果在虚拟机上进行测试,则可能需要重新启动虚拟机才能使更改生效。
在桌面Linux环境(如X Windows)上,完全注销会话,然后重新登录。
4.验证您是否可以运行docker
命令sudo
。
$ docker run hello-world
配置Docker以在启动时启动
大多数当前的Linux发行版(RHEL,CentOS,Fedora,Ubuntu 16.04及更高版本)使用systemd
管理系统自动启动的服务。Ubuntu 14.10及以下使用upstart。
systemd
$ sudo systemctl enable docker
要禁用此行为,只需将enable改为disable
。
$ sudo systemctl disable docker
如果需要添加HTTP代理,为Docker运行时文件设置不同的目录或分区,或进行其他自定义,请参阅 自定义systemd Docker守护程序选项。
upstart
Docker自动配置为在启动时启动 upstart
。要禁用此行为,请使用以下命令:
$ echo manual | sudo tee /etc/init/docker.override
chkconfig
$ sudo chkconfig docker on
配置Docker守护程序监听连接的位置
默认情况下,Docker守护程序监听UNIX套接字上的连接以接受来自本地客户端的请求。通过将Docker配置为监听IP地址和端口以及UNIX套接字,可以允许Docker接受来自远程主机的请求。有关此配置选项的更多详细信息,请参阅Docker CLI参考文章中的“将Docker绑定到另一个主机/端口或unix套接字”部分。
配置Docker以接受远程连接(docker.service)可以使用systemd的Linux发行版的systemd单元文件来完成,例如RedHat,CentOS,Ubuntu和SLES的最新版本,或者daemon.json
推荐用于不使用systemd的Linux发行版的文件。
配置Docker同时使用systemd
单元文件和daemon.json
文件来侦听连接会导致冲突,从而阻止Docker启动。
使用systemd
单元文件配置远程访问
1.使用以下命令编辑文件docker.service
sudo systemctl edit docker.service
2.添加或修改以下行,替换您自己的值
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375
3.保存文件。
4.重新加载systemctl
配置。
$ sudo systemctl daemon-reload
5.重启Docker。
$ sudo systemctl restart docker.service
6.通过查看netstat
的输出确认dockerd是否
正在侦听已配置的端口。
$ sudo netstat -lntp | grep dockerd
tcp 127.0.0.1: 0.0.0.0:* LISTEN /dockerd
使用配置远程访问 daemon.json
1.将hosts
数组设置/etc/docker/daemon.json
为连接到UNIX套接字和IP地址,如下所示:
{
"hosts": ["unix:///var/run/docker.sock", "tcp://127.0.0.1:2375"]
}
2.重启Docker。
3.通过查看netstat
确认的输出是否dockerd
正在侦听已配置的端口来检查更改是否得到遵守。
$ sudo netstat -lntp | grep dockerd
tcp 127.0.0.1: 0.0.0.0:* LISTEN /dockerd
Docker配置整理的更多相关文章
- [转帖]龙芯:Docker 配置与实践清单
Docker 配置与实践清单 http://www.sohu.com/a/254904706_198222 文章对来官方文档及 Docker Links[1] 中链接内容进行归档整理,包含了日常工作中 ...
- 为docker配置固定ip
docker默认使用bridge模式,通过网桥连接到宿主机,而容器内部的ip则从网桥所在的ip段取未用的ip.这样做一个不方便的地方在于容器内部的ip不是固定的,想要连接容器时只能通过映射到宿主机的端 ...
- docker 配置桥接网络
2.5 docker配置桥接网络(上): 为了使本地网络中的机器和Docker 容器更方便的通信,我们经常会有将Docker容器 配置到和主机同一网段的需求. 这个需求其实很容器实现, 我们只需要将D ...
- centos为docker配置加速器
国内拉去docker镜像慢得可怜,为了解决这个问题,可为docker配置加速器. 1.修改daemon配置文件 sudo mkdir -p /etc/dockervim /etc/docker/dae ...
- docker配置代理的用户名密码
公司访问外网全部需要经过代理服务器,在使用docker的过程中,发现就算为docker配置了代理,还是会因为没有代理服务器认证,导致pull操作失败,报如下错误: Error response fro ...
- Docker配置参考
Docker配置参考 一.参数列表 参考网址:https://docs.docker.com/engine/reference/commandline/dockerd/#options Usage: ...
- Docker 配置固定IP及桥接的实现方法(转载)
这篇文章主要介绍了Docker 配置固定IP和桥接的实现方法的相关资料,这里详细介绍了Docker 的四种网络模式及如何实现桥接的案例,需要的朋友可以参考下 docker默认使用bridge模式,通过 ...
- windows7下docker配置镜像加速
原文地址:https://blog.csdn.net/slibra_L/article/details/77505003 1,本文目的:windows7下docker配置镜像加速,下面是具体操作步骤: ...
- 使用docker配置etcd集群
docker配置etcd集群与直接部署etcd集群在配置上并没有什么太大差别. 我这里直接使用docker-compose来实现容器化的etcd部署 环境如下: HostName IP etcd1 1 ...
随机推荐
- Maven 梳理 - Maven中的dependencyManagement 意义
1.在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器. 2.pom.xml文件中,jar的版本判断的两种途径 1:如果dependenci ...
- Spring MVC-从零开始-未完待续
Spring MVC 之 json格式的输入和输出 Spring定时器简单使用 Spring mvc 拦截器的简单使用 Spring MVC文件上传
- Ubuntu使用vi命令时,不能正常编辑文件,使用方向键时老是出现很多字母解决方案
原因是系统只装了vi,没有装vim.因为vi是不能直接按退格键删除字符的.所以重新装下vim指令即可: # sudo apt-get install vim 重新使用vi命令进行文件编辑.
- mysql 时间与字符串相互转换
时间.字符串.时间戳之间的相互转换:date转字符串.date转时间戳.字符串转date.字符串转时间戳.时间戳转date,时间戳转字符串用法 涉及的函数 date_format(date, form ...
- ES6学习总结之Set和Map数据结构的理解
前言 当我们需要存储一些数据的时候,首先想到的是定义一个变量用来存储,之后我们可能学了数组,发现数组比变量可以存储更多的数据,接着可能有其它的存储数据的方法等等,然而我今天需要介绍的是在ES6中比较常 ...
- linux系统下使用xampp 丢失mysql root密码 只能远程访问,本地无法连接数据库
如果在ubuntu 下面 使用xampp这个集成开发环境,却忘记mysql密码. 当出现只能远程访问的,本地无法访问,通常是host改成% 远程访问,本地访问到一个是空壳.这是权限的问题 需要修hos ...
- 洛谷:P3384 [HNOI2004]宠物收养场
原题地址:https://www.luogu.org/problemnew/show/P3384 题目简述 给定一些序列(没有重复数字),每个序列支持: 给定一些数k(对于每个序列不重复),每次在序列 ...
- 解决mac OSX下安装git出现的"git命令需要使用开发者工具。您要现在安装该工具吗"(19款Mac)
1.本地安装Git ,这里不做说明 2.命令行执行 sudo mv /usr/bin/git /usr/bin/git-system 3.如果提示 权限不足,操作不被允许,关闭Rootless,重启按 ...
- GoLang 获取两个时间相差多少小时
package main import ( "fmt" "time" ) func main() { fmt.Println(getHourDiffer(&qu ...
- 使用 Sealos 在 3 分钟内快速部署一个生产级别的 Kubernetes 高可用集群
本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...