一、安装docker
Docker 要求 CentOS 系统的内核版本高于 3.10
uname -r
yum update
yum install -y yum-utils device-mapper-persistent-data lvm2
设置中央仓库
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
或者阿里仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum -y install docker
先要设置文件系统,如果docker已经启动了,需要停止 systemctl stop docker
1、rm -rf /var/lib/docker # 会删除docker images
2、vi /etc/sysconfig/docker-storage
指定 DOCKER_STORAGE_OPTIONS="--storage-driver overlay"
3、vi /etc/sysconfig/docker
去掉option后面的--selinux-enabled
否则docker run会报错
/usr/bin/docker-current: Error response from daemon: error creating overlay mount to
/var/lib/docker/overlay2/ff20f00775000e9b898cb5b576b67898061de81e4a09d6f58bf1080c7
7dd6e2c-init/merged: invalid argument.
See '/usr/bin/docker-current run --help'.
systemctl start docker.service
systemctl enable docker.service
docker -v
docker [info|version]
二、可能需要的操作:
1、查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
查看防火墙状态 systemctl status firewalld
开启防火墙 systemctl start firewalld
关闭防火墙 systemctl stop firewalld
开启防火墙 service firewalld start
若遇到无法开启
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service
2、关闭selinux
进入到 /etc/selinux/config 文件
vi /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled
3、开放端口
如果容器正常启动了,虚拟机可以访问它,但是你本机却访问不了,一般是虚拟机端口没有开放,可以使用TCP工具来
确认(telnet / nc),那么就需要开放端口了。
4、可以去 hub.docker.com 注册一个账号,用来发布自己的专属镜像
Docker ID:raoxiaoya
Email:xxxxx
pass:xxxxx
三、实践
在虚拟机中搭建本地开发环境,并实现相互间的访问。
docker-nginx
docker-php
docker-mysql
docker-redis
四、简单聊聊docker容器
为什么docker容器的启动比虚拟机(比如 VMWare, VirtualBox)快很多呢?
因为虚拟机包含有一个操作系统,而一般操作系统启动就需要十来秒的时间;docker容器是不包含操作系统的,因此docker容器体积小,它模拟了linux系统的简单目录结果,看起来像一个虚拟独立空间。将应用程序(比如 nginx)安装到容器里面的目录中去,就形成了nginx容器,这样就没有污染宿主机的目录,就像没有安装过nginx一样,其实是安装在了别的目录去了,如果全局搜索的话依然能够搜索得到。
nginx容器启动的时候,其实就是启动了一个docker进程,由此进程再去启动内部的nginx程序,并对其进行管理,启动的容器就是一个进程,本身进程的很多资源就是隔离的,另外docker还使用了操作系统提供的虚拟化技术,使得此进程更像一个隔离的容器。
Linux系统安装docker以及php开发环境搭建
于 2020-06-20 17:02:48 首次发布