Centos7&docker-ce&compose&wordpress

如题,最近帮人装个WordPress,想起来用docker方便,这里做个记录。

因为docker要求linux内核版本3.10以上我记得,所以直接用的centos7省去很多麻烦。

主机在国内的先把yum源改成国内的阿里云或者163的,这样避免网络因素导致下载太慢
然后系统安装后第一次使用最好是更新一下
yum update
yum remove docker \
             docker-client \
             docker-client-latest \
             docker-common \
             docker-latest \
             docker-latest-logrotate \
             docker-logrotate \
             docker-selinux \
             docker-engine-selinux \
             docker-engine

rm -rf /var/lib/docker/               这里删除所有的额配置文件和镜像等等

先删除旧的然后再安装最新的docker-ce。

因为centos7的默认yum安装的是1.7.1的老版本,这里是安装最新的docker-ce版本。

yum install -y yum-utils \
                  device-mapper-persistent-data \
                  lvm2
yum-config-manager \
  --add-repo \
  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum update   这里再更新一下避免问题
yum list docker-ce --showduplicates | sort -r   查看所有可用版本
yum install docker-ce-<VERSION STRING>    比如yum install docker-ce-18.03.0.ce
systemctl start docker    启动进程
systemctl enable docker    设置开机启动
docker version  查看版本
docker run hello-world   验证安装

这里我习惯用docker-compose来统一管理docker的镜像和容器。这里用的官方方法安装的compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version  查看版本验证安装

都装好了,然后编写docker-compose.yml文件,还是参照官方文档:

mkdir myblog && cd myblog    创建项目文件夹
vim docker-compose.yml   创建文件
复制进下边的内容
version: '3.3'
services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: your-mysql-root-password
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     volumes:
        - wp_site:/var/www/html
     ports:
       - "80:80"
       - "443:443"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:
    wp_site:

上边作了目录映射,来防止容器重启导致的数据丢失,数据库和网站数据都映射到了本地。

docker-compose up -d    这里注意要用root管理员用户使用命令。

等待推送完,然后就可以在浏览器访问网站了。如果网络太慢可以用阿里云端镜像加速功能。

如何找到volume出来的网站和数据库目录呢?这是一种卷标的方式存储的文件。

docker volume ls

docker volume inspect wordpress 这里的wordpress替换成你上边ls出来的名字啊

这样不就出来了。

还有上传限制2M如何解决?

docker exce -it 容器ID /bin/bash
进入容器bash
apt-get update && apt-get install vim
因为容器里没有vim,所以安装之。对了,不关你是centos还是Ubuntu,在这个容器里都用apt管理软件。
找到你的.htaccess文件,假如在/var/www/html/.htaccess
vim /var/www/html/.htaccess
在里边添加如下内容
php_value post_max_size 512M
php_value upload_max_filesize 512M

 

问题:

1.之前遇到过容器状态显示restarting的提示,此时最好是查看docker的logs

docker logs [容器名/容器ID]|less 

也有人说是docker需要2G内存不够爆了,其实不需要,512M内存就可以运行,具体看你的项目需求。

2.也有人没有注意到打开防火墙端口,查看自己是iptables还是firewall(理论上的默认防火墙),然后用相应的命令打开相应的80端口解决之。

3.还有人遇到容器启动后无法访问,查看端口发现docker只是把端口映射到了tcp6,我也以为是端口只是映射到了ipv6端口,可是并不是这个意思,我重装成了docker-ce-17.06.1(注意要彻底删除配置文件),docker-compose.yml里面改成了版本3.3就解决了问题,所以他其实是同时映射了tcp和tcp6。

如果你删除了重新安装了不能解决问题,那么我给你留下了一些线索:

http://dockone.io/question/569

https://github.com/moby/moby/issues/2174

https://github.com/moby/moby/issues/27491#event-833578007

https://blog.csdn.net/qq_27575627/article/details/71413004

转载于:https://my.oschina.net/finchxu/blog/2877580

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值