如题,最近帮人装个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. 路飞学城Python-Day25

  2. node——try-catch与异步操作

    //try-catch,用于捕获异常 //try-catch在node中只能捕获同步的异常,不能捕获异步异常 var fs=require('fs'); /*fs.writeFile('./abc.t ...

  3. python3配置爬虫开发环境

    爬虫:环境搭建 安装python3: 安装python版本:3.7.0 winsdows下的配置:

  4. IOS - ImagePicker 连拍

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)sel ...

  5. [JZOJ]100046【NOIP2017提高A组模拟7.14】收集卡片

    Star 计划订购一本将要发行的周刊杂志,但他可不是为了读书,而是-- 集卡. 已知杂志将要发行 N 周(也就是 N 期),每期都会附赠一张卡片.Star 通 过种种途径,了解到 N 期杂志附赠的卡片 ...

  6. man帮助命令

    linux系统提供可比较丰富的帮助手册,man是manual(说明书)的缩写,在日常的linux系统管理中经常会用到. 语法: man(选项)(参数) 选项: -a:在所有的man帮助手册中搜索: - ...

  7. js实现新闻滚动实例

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  8. ASP.NET-dropdownlist默认值

    可以在第三个选项中定义一个默认值,但是返回数据的时候就不需要这种类似"请选择名称"之类的提示了,所以在构造seleclt option的时候,要在option中的属性中加上sele ...

  9. Qt之命令行参数

    简述 在Qt之进程间通信(QProcess)一节,我们讲解了如何通过QProcess来进行进程间的通信.主要通过启动外部程序,然后通过命令行的方式传递参数. 这里,我们可以通过Qt Creator来设 ...

  10. poj2492--A Bug&#39;s Life(并查集变形)

    A Bug's Life Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 28703   Accepted: 9350 De ...