前提条件
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
如果不是root账号登录,必须所有命令都带sudo
移除旧的版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安装一些必要的系统工具
命令:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
界面:
添加软件源信息
命令:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
界面:
更新 yum 缓存
命令:
sudo yum makecache fast
界面:
安装 Docker-CE
命令:
sudo yum -y install docker-ce
界面:
启动Docker后台服务
命令:
systemctl start docker
界面:
测试运行 hello-world
命令:
docker run hello-world
界面:
由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
镜像加速
新建文件
/etc/docker/daemon.json
内容
{
"registry-mirrors": ["http://f1361db2.m.daocloud.io"]
}
重启Docker
systemctl restart docker
用阿里的:https://jf3n56os.mirror.aliyuncs.com
附上Window10设置加速镜像:
开启远程访问
打开/usr/lib/systemd/system/docker.service文件,修改ExecStart这行
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
#重新加载配置文件
systemctl daemon-reload
#重启服务
systemctl restart docker.service
#查看端口是否开启
netstat -nptl | grep 2375
#直接curl看是否生效
curl http://127.0.0.1:2375/info
关闭远程访问
开启远程访问后,本机只能访问到远程,痛苦很。
放开配置:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
注释配置:
# ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --insecure-registry www.gzzjz.com
关闭后本地访问:
问题记录
docker删除镜像文件时,出现image is referenced in multiple repositories如何解决
问题:镜像“192.168.118.163:5000/demo1”打tag“demo1”,通过image id删除镜像报错。
解决:使用 镜像全名来 删除
>docker rmi 192.168.118.163:5000/demo1
/var/lib/docker/overlay2占用目录过大
解决方法:docker system prune -a