如题,最近帮人装个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. 关于layui.laypage.render 刷新首页没有分页问题

    前言: 最近写项目遇到一个问题,就是使用vue里的layui.laypage.render 分页时,刷新首页会只有一页,但后台传来的数据是有50多页的,所有的数据也都一一对应,调了好久debug,终于 ...

  2. fullcalendar日历插件

    https://www.helloweba.net/javascript/231.html

  3. css——外部样式

    外部样式 先建立一个css文件,如下: 然后开始写代码,不要加<style> 然后可以在html文件中的<head>内引用:<link rel="stylesh ...

  4. Day 05 流程控制

    流程控制 if 判断 语法: if if...else if...elif...else if判断是干什么的呢?if判断其实是在模拟人做判断.就是说如果这样干什么,如果那样干什么. if...else ...

  5. Vue学习之路第八篇:事件修饰符

    学习准备: ①.顾名思义,“事件修饰符”那么肯定是用来修饰事件,既然和事件有关系,那么肯定和“v-on”指令(也可简写为:@)有关系了. ②.事件修饰符有以下几类: .stop:阻止冒泡 .preve ...

  6. Vue常用的GitHub项目

    Vue常用的GitHub项目(Demo案例) 应用实例 https://github.com/pagekit/pa... pagekit-轻量级的CMS建站系统 https://github.com/ ...

  7. 可编辑div,将光标定位到文本之后

    类似qq回复一样,某人评论之后,在对评论进行回复之后,将光标定位到文本之后: function set_focus() { el=document.getElementById('guestbook_ ...

  8. javascript-js中技巧集合

    1.值的转换 在JavaScript中,一共有两种类型的值:原始值(primitives)和对象值(objects).原始值有:undefined, null, 布尔值(booleans), 数字(n ...

  9. android启动第一个界面时即闪屏的核心代码(两种方式)

    闪屏,就是SplashScreen,也能够说是启动画面,就是启动的时候,闪(展示)一下,持续数秒后.自己主动关闭.  第一种方式: android的实现很easy,使用Handler对象的postDe ...

  10. 阅读《Android 从入门到精通》(10)——单项选择

    单项选择(RadioGroup) RadioGroup 是 LinearLayout 的子类,继承关系例如以下: android.view.ViewGroup android.widget.Linea ...