docker-centos 7.2

1、安装准备

预防volumes项出现Permission denied

setenforce 0                       #关闭selinux防火墙,临时关闭。永久关闭需改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled并重启
systemctl stop firewalld.service   #关闭firewalld防火墙
yum update                         #一定要做,否则后续build出错

2、安装Docker

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

3、配置Docker加速器

3.1、阿里云的加速器,注意自己注册申请,cd6xo91e.mirror.aliyuncs.com换成自己的。

vim /etc/docker/daemon.json 这个json文件不存在的,不需要担心,直接编辑 
把下面的贴进去,保存,重启即可

tee /etc/docker/daemon.json <<-'EOF' 
{
"registry-mirrors": [ "https://cd6xo91e.mirror.aliyuncs.com"]
}
EOF

 

3.2、老版本直接修改/etc/systemd/system/docker.service文件:将/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' )

3.3、重启

sudo systemctl daemon-reload 
sudo service docker restart

注意:也可以配置daocloud的加速器,我的:0f3bdc1e.m.daocloud.io。

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

yum install docker-compose

如果不行就用下面方式

curl -L "https://github.com/docker/compose/releases/download/1.25.4/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文件修改了,直接用改命令重构
docker-compose logs -f -t >> log.log ##查看日志docker-compose运行日志,不知道有没有限制,试过1个月前的都能看到

5、进入容器bash

5.1 使用docker exec

docker exec -it container_id bash

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

nsenter安装:

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 

nsenter使用:

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)

7、拉取镜像、运行容器

#拉取官方的最新版本的镜像
docker pull nginx:latest
#运行 nginx 容器
docker run --name nginx-test -p 8080:80 -d nginx
#测试
http://172.30.31.73:8080/

8、创建、发布镜像

cd /ansible
docker build -t lxsky/ansible:2.9 .
docker push lxsky/ansible:2.9

posted on 2016-12-05 16:05  lxsky  阅读(575)  评论(0编辑  收藏  举报

导航