zoukankan      html  css  js  c++  java
  • Centos7&docker-ce&compose&wordpress

    如题,最近帮人装个WordPress,想起来用docker方便,这里做个记录。
    原文:https://my.oschina.net/finchxu/blog/2877580
    因为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- 比如yum install docker-ce-18.03.0.ce
    systemctl start 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管理员用户使用命令。
    等待推送完,然后就可以在浏览器访问网站了。如果网络太慢可以用阿里云端镜像加速功能。

    问题:

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

    docker logs [容器名/容器ID]|less
    也有人说是docker需要2G内存不够爆了,其实不需要,512M内存就可以运行,具体看你的项目需求。

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

    3.还有人遇到容器启动后无法访问,查看端口发现docker只是把端口映射到了tcp6,我也以为是端口只是映射到了ipv6端口,可是并不是这个意思,我重装了docker-ce(注意要彻底删除配置文件),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

  • 相关阅读:
    linux 下面 opcache 拓展
    php中函数前加&符号的作用分解
    apache 设置404页面
    nginx 环境搭建使用之入门
    curl获取http请求的状态码
    js打开新的窗体不被浏览器阻止
    YII 框架使用之——创建应用
    Yii 框架创建自己的 web 应用
    PHP中CURL方法curl_setopt()函数的一些参数
    Linux的学习--使用PuTTY
  • 原文地址:https://www.cnblogs.com/finch-xu/p/9974531.html
Copyright © 2011-2022 走看看