Linux系统安装docker以及php开发环境搭建

一、安装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还使用了操作系统提供的虚拟化技术,使得此进程更像一个隔离的容器。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值