首页 > 代码库 > docker-centos 7.2

docker-centos 7.2

1、安装准备

预防volumes项出现Permission denied

setenforce 0                       #关闭selinux防火墙,临时关闭。永久关闭需改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled并重启
systemctl stop firewalld.service   #关闭firewalld防火墙

2、安装Docker

yum install docker
docker -v        ##查看版本
service docker start ##开启docker服务才能用其他命令
chkconfig docker on
docker images

3、配置Docker加速器

3.1、阿里云的加速器,将mirror的配置添加到docker daemon的启动参数中。注意自己注册申请,cd6xo91e.mirror.aliyuncs.com换成自己的。

自己手工修改:将/etc/systemd/system/docker.service 文件的“ExecStart=/usr/bin/docker-current daemon“替换成

ExecStart=/usr/bin/docker daemon --registry-mirror=https://cd6xo91e.mirror.aliyuncs.com
也可以使用如下的脚本,
# 系统要求 CentOS 7 以上,Docker 1.9 以上。 
sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service 
sudo sed -i "s|ExecStart=/usr/bin/docker-current daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=https://cd6xo91e.mirror.aliyuncs.com|g" /etc/systemd/system/docker.service # (sed -i ‘s/要被取代的字串/新的字串/g‘ )
sudo systemctl daemon-reload 
sudo service docker restart

阿里的原句其实如下,是“docker daemon“,在我的机器上“docker-current daemon“。

sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=https://cd6xo91e.mirror.aliyuncs.com|g" /etc/systemd/system/docker.service

3.2、也可以配置daocloud的加速器,注意自己注册申请,0f3bdc1e.m.daocloud.io换成自己的。不用它的脚本,自己修改,将/etc/systemd/system/docker.service 文件的“ExecStart=/usr/bin/docker-current daemon“替换成

ExecStart=/usr/bin/docker daemon --registry-mirror=http://0f3bdc1e.m.daocloud.io

4、安装docker-Compose(持续化、简化docker运行时的定义命令)

curl -L "https://github.com/docker/compose/releases/download/1.8.1/docker-compose-$(uname -s)-$(uname -m)" > /usr/local/bin/docker-compose
# 上面超慢的,可以直接到https://github.com/docker/compose/releases下载对应版本的文件(这里是docker-compose-Linux-x86_64),并放置到/usr/local/bin/下改名为docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose -v         ##查看版本
docker-compose up         ##升级
docker-compose up -build  ##如果yuml或者dockerfile文件修改了,直接用改命令重构

5、使用nsenter(在宿主机使用容器的shell)

5.1 安装:

cd /tmp
wget https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.tar.gz
tar zxf util-linux-2.29.tar.gz
cd util-linux-2.29
./configure --without-ncurses
# 如果上面出现gcc错误,安装gcc: yum -y install gcc
make nsenter
cp nsenter /usr/local/bin 

5.2 使用:

PID=`docker inspect --format "{{ .State.Pid }}" node1 `
nsenter --target $PID --mount --uts --ipc --net --pid
# 上面2条命令可以合一:
nsenter --target `docker inspect --format "{{ .State.Pid }}" node1` --mount --uts --ipc --net --pid

# ok了可以随便输入linux命令检查一下看看,比如:
ls #查看文件
ls -l #查看权限

6、Docker清除命令

docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi -f $(docker images -q -a)

docker-centos 7.2