1、让docker允许外部访问
修改docker.service配置文件里的参数
vim /usr/lib/systemd/system/docker.service
改为:
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -H tcp://0.0.0.0:7654
解释:
在启动该服务时需要执行的命令行(命令+参数)
此处默认2375为主管理端口,unix:///var/run/docker.sock用于本地管理,7654是备用的端口。-H fd:// 等同于 --iptables=false 让docker取消对我们系统iptables的操作和修改
备注:
完成上述修改后:docker重新读取配置文件
systemctl daemon-reload
docker重启
systemctl restart docker
2、使用window系统编辑脚本后到linux中无法识别脚本
原因:
在win下编辑的时候,换行结尾是\n\r , 而在linux下 是\n,所以才会有 多出来的\r
处理:
sed -i 's/\r$//' *.sh
解释:
会把 *.sh 中的\r 替换成空白!
3、docker安装
- 在线安装
软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker
sudo yum -y install docker-ce
下载软件源信息非常重要,许多依赖都需要根据docker-ce.repo来下载
- 离线安装
制作离线安装包分三步:下载docker安装包及其依赖、对下载下来的安装包制作本地源、准备本地源配置文件
参考博文:docker离线安装_docker 离线安装_阿奴波仔的博客-CSDN博客
4、docker卸载方式
移除旧版本
yum remove docker docker-client docker-client-latest \
docker-common docker-latest docker-latest-logrotate \
docker-logrotate docker-selinux docker-engine-selinux \
docker-engine
删除配置包
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker
查询安装过的包
yum list installed | grep docker
删除安装的软件包
yum -y remove $index
删除镜像/容器等
rm -rf /var/lib/docker
5、关于shell脚本变量引用的坑
用shell 实现添加用户和赋予用户权限
坑1:shell 的变量中带空格时,在调用时必须用""罩住
坑2:sed调用shell 变量要用''单引号罩住
例子:
USER_CMD="$USER ALL=(ALL) ALL"
sed -i '$a '"$USER_CMD"'' /path
修改docker存储路径方法
停止服务
systemctl stop docker
迁移目录
# 新建目录
mkdir -p /home/docker
mv /var/lib/docker/* /home/docker/
修改配置文件
centos6下
vi /etc/sysconfig/docker:
other_args="--graph=/home/docker --selinux-enabled -H fd:// --insecure-registry=registry.abc.com --registry-mirror=https://pee6w651.mirror.aliyuncs.com"
centos7下
vi /usr/lib/systemd/system/docker.service:
ExecStart=/usr/bin/dockerd -g /home/docker --insecure-registry registry.abc.com --registry-mirror=https://pee6w651.mirror.aliyuncs.com
注:registry-mirror镜像地址有可能访问不了 导致docker无法启动,可以更换
建立软连接
rm -rf /var/lib/docker
ln -s /home/docker /var/lib/docker
重启服务
systemctl daemon-reload
systemctl restart docker
就此数据迁移完毕!!
其他:
VIM 替换所有字符串
:%s/dev/mydev/g
:%s/$releasever/7/g
:%s/$basearch/x86_64/g