镜像是一系列可实例化的软件配置环境。Docker官网有许多镜像可供选择。
可以通过镜像实例化容器。容器与虚拟机类似,但开销小得多。我们可以把一个系统的数据库,web服务器等,在一台服务或多台服务器进行分布式部署。这种部署方案是十分灵活调整和移植的。
使用centos7 安装成功,centos6 失败
yum update
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
如果网速不行请用python的pip安装
yum -y install epel-release python-pip
pip install docker-compose
可以测下是否安装成功
docker-compose version
通过软连接的方式修改存储目录
mv /var/lib/docker /data/xxx
ln -s /data/xxx /var/lib/docker
更改镜像源,系统没有这个文件,直接新增这个文件
vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
systemctl start docker
systemctl enable docker
docker ps -l
docker exec -i -t 容器id /bin/bash
docker container update --restart=always 容器名
docker logs 容器名
docker inspect 容器名
mac的docker运行在虚拟机下,/var/lib/docker/containers/这个目录在主机中不存在,使用screen
命令进入虚拟机就可以找到了
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
进入空白,回车下
按上面进入docker容器物理位置,修改hostconfig.json(有些修改config.v2.json)中的PortBindings项。
在官网上搜索php,选择了php7.1.30
docker run --name ysapp_php-php -v /Users/imac/Documents/project/ysapp-server-php:/www -d --restart=always php:7.1.30-fpm
在官网上搜索nginx,选择了最新的版本镜像
docker pull nginx
创建容器
docker run --name ysapp_php-nginx -p 8010:80 -v /Users/imac/Documents/project/ysapp-server-php:/usr/share/nginx/html -v /Users/imac/Documents/docker_data/ysapp_php/nginx/conf:/etc/nginx/conf.d --link ysapp_php-php:php -d --restart=always nginx
在官网上搜索mysql,选择了5.7版本镜像
docker pull mysql:5.7
创建容器
docker run -p 33060:3306 --name php-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7