Jump to Navigation

docker应用小记

docker应用小记

这两天搞了点docker相关的东西,涉及到了docker两个相关的点,
都是关于网络方面的。

一个是docker使用的子网的配置。
一个是 docker pull/push使用的代理方式配置。

###
在centos7上,docker使用了这些配置文件:
/etc/sysconfig/docker
/etc/sysconfig/docker-network
/etc/sysconfig/docker-storage
/etc/sysconfig/docker-storage-setup

这几个文件内容比较简单,每个文件一行,而且默认是空参数。
这些文件叫做EnvironmentFile,用来设置docker的固定配置参数。

对本文开头提到的两个问题,修改这些文件即可实现。
比如这里只修改了/etc/sysconfig/docker-network文件,因为这两个配置都是关于网络方面的。

DOCKER_NETWORK_OPTIONS=--bip=10.0.7.1/24
http_proxy=http://10.251.214.55:8118/

第一行表示让docker tun设备(一般是docker0)使用10.0.7.1/24网段。
默认docker使用的172.17.0.1/24网段。

第二行表示在执行docker pull/push/login时,使用这个http(s)代理服务器。
为什么这项这么配置呢,因为在这些文件中的key=value都被docker在初始化时当作了环境变量使用了。

配置上也还比较简单,不再赘述了。

### 在docker中使用cron(有什么不同吗?)
由于在docker中,虽然非常接近真实linux环境,但还是有区别。
在docker中使用cron时,发现这也有点不一样,在此简单整理一下。
按照正常方式启动crond时,会报错:docker cron FAILED to open PAM security session。

可以通过以下方法修正这个问题,
sed -ri ‘s/.*pam_loginuid.so/#&/‘ /etc/pam.d/crond
编辑/etc/pam.d/crond,将其中的required修改为sufficient就可以了
在archlinux的docker容器中,需要把session相关的行全部注释。

### 有时docker build时网络不通
重启动下docker服务即可,systemctl restart docker。 But WHY?

添加新评论

Plain text

  • 不允许HTML标记。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.


Main menu 2

Story | by Dr. Radut