如题,最近帮人装个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

Centos7&docker-ce&compose&wordpress的更多相关文章

  1. Centos7安装Docker CE

      每次安装Docker都要去找文档,或者每次安装的都不一样,还是要好好管理自己的这些东西,下次用的时候可以省很多的时间   Docker的早期版本称为docker或docker-engine:现在的 ...

  2. centos7 部署 docker ce

    =============================================== 2019/4/9_第1次修改                       ccb_warlock === ...

  3. remove docker ce fully on centos7

    在centos7上用curl 安装了docker ce版本 删除的方法是 $ sudo yum -y remove docker-ce

  4. 在centos7上安装Docker CE

    Docker CE的基本安装 https://docs.docker.com/engine/installation/linux/docker-ce/centos/ 一.系统要求 1.安装Docker ...

  5. docker快速搭建wordpress(centos7)

    docker pull tutum/wordpress #拉取镜像 docker run -d -p 80:80 tutum/wordpress #运行容器 使用服务器IP访问即可

  6. centos7 下安装Docker CE

    前提条件 操作系统要求 要保证centos-extrasrepository开启(enabled).默认处于开启状态. 推荐使用overlay2存储驱动 卸载老版本 $ sudo yum remove ...

  7. CentOS7 安装 Docker CE步骤

    准备工作 系统要求 Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10. CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overla ...

  8. Centos7 安装docker ce

    一. 安装docker 1.升级rpm包 yum -y update 2. 通过命令设置Docker CE 资源库: yum install -y yum-utils yum-config-manag ...

  9. CentOS7 下 yum 安装 Docker CE

    前言 Docker 使用越来越多,安装也很简单,本次记录一下基本的步骤. Docker 目前支持 CentOS 7 及以后的版本,内核要求至少为 3.10. Docker 官网有安装步骤,本文只是记录 ...

  10. Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署

    写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...

随机推荐

  1. X位的有/无符号整数

    目录 X位的有符号整数 X位的无符号整数 知识点来自leetcode整数翻转 X位的有符号整数 以4位为例,不管多少位都是相同的概念 在有符号整数中,第一位二进制位用来表示符号,0为正,1为负 最大值 ...

  2. 51nod 1576 Tree and permutation(树的重心+dfn序)

    乍一看我不会. 先不考虑加点. 先考虑没有那个除\(2\). 考虑每一条边的贡献,假设某一条边把这棵树分成大小为x,y的两个部分. 那么这条边最多可以被使用\(min(x,y)*2\)次(因为有进有出 ...

  3. Swoole 源码分析——进程管理 Swoole_Process

    前言 swoole-1.7.2 增加了一个进程管理模块,用来替代 PHP 的 pcntl 扩展. PHP自带的pcntl,存在很多不足,如 pcntl 没有提供进程间通信的功能 pcntl 不支持重定 ...

  4. 2019-03-20 Python爬取需要登录的有验证码的网站

    当你向验证码发起请求的时候,就有session了,记录下这次session 因为每当你请求一次验证码 或者 请求一次登录首页,验证码都在变动 验证码的链接可能不是固定的,可能需要GET/POST请求, ...

  5. STM32 关于头文件路径没添加错误问题(cannot open source input file "spi.h": No such file or directory)

    error:  #5: cannot open source input file "spi.h": No such file or directory 1.出现这种问题,首先要确 ...

  6. typedef和define混用产生的错误

    最近在写代码过程中,发现一个问题,编译总是过不去,报错如下: stdint.h::: error: duplicate 'unsigned' stdint.h::: error: 'long long ...

  7. http响应的封装

    响应的封装: 资源的初始化 分析请求响应信息,根据状态响应码,发送不同的状态码 浏览器根据状态信息,做出不同的执行 构建正文,也就是根据浏览器客服端的请求发送响应信息: 发送响应:code 是状态码, ...

  8. 远古守卫/cocos2d-x 源代码/塔防游戏/高仿王国保卫战

    下载地址:spm=686.1000925.0.0.j3MZhz&id=550780702354" style="color:rgb(224,102,102)"&g ...

  9. 模式匹配的KMP 算法

    常见的字符串匹配时,模式串长度为n,源串长度为m,则从头匹配,两个指针i指向源串,j指向模式串,如遇到不同则回溯使j=0,这样就要反复匹配会使效率变低. 因为在如今i之前 的模式串与匹配串的匹配是同样 ...

  10. html屏蔽鼠标右键

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...