Linux系统上安装docker + Compose并创建WordPress
安装Compose
Docker Compose 是 Docker 官方编排(Orchestration)项目之一, 负责快速在集群中部署分布式应用。
方法一
1、运行此命令下载最新版本的Docker Compose:
[root@] sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
结果:
[root@VM_0_13_centos bin]# sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 617 0 617 0 0 291 0 --:--:-- 0:00:02 --:--:-- 292
100 10.3M 100 10.3M 0 0 406k 0 0:00:26 0:00:26 --:--:-- 1556k
可能会很慢,会超时,多试几次 # 本次尝试7次还是这个方法最靠谱虽然慢了一些
也可以自己去网上找镜像加速下载
2、对二进制文件应用可执行权限
[root@] sudo chmod +x /usr/local/bin/docker-compose
3、测试是否安装成功(两个命令都可以)
[root@] docker-compose --version #查看版本
[root@] docker-compose #查看docker-compose命令的用法
方法二:
使用pip安装
没有python3或pip可参考我另一篇文章
[root@] python3 -m pip install docker-compose #也可能会超时比方法一快些,再试一次基本解决
报错
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
直接照着提示执行升级命令pip install --upgrade pip
2、测试是否安装成功(两个命令都可以)
[root@] docker-compose --version #查看版本
[root@] docker-compose #查看docker-compose命令的用法
创建WordPress
1、建立应用的目录
[root@] mkdir my_wordpress
[root@] cd my_wordpress
2、创建 docker-compose.yml
[root@] touch docker-compose.yml;vi docker-compose.yml
添加如下内容:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- dbdata:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
dbdata:
- images 镜像名
- restart 指定版本
- ports 80为镜像端口, 映射的8000为主机端口。
- environment 环境配置,数据库用户、密码等。
3、建立项目
[root@] docker-compose up -d
可能出现报错1
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
解决办法:
[root@] sudo groupadd docker #创建docker组。
[root@] sudo usermod -aG docker $(whoami) #将用户添加到docker组。
注销并重新登录以确保docker以正确的权限运行。
[root@] sudo service docker restart #重启docker
还是不行? 请确定你是否以root
用户登录,一般Ubuntu 用户会遇到此情况
可能出现报错2
the service name True must be a quoted string ,i.e. 'True'.
原因分析:
上面的docker-compose.yml 文件中遗漏了部分内容,如:版本号
再次尝试
镜像原因较慢,可能 timout 再次尝试,本次尝试3次后成功
[root@VM_0_13_centos my_wordpress]# docker-compose up -d
Creating network "my_wordpress_default" with the default driver
Creating volume "my_wordpress_dbdata" with default driver
Pulling db (mysql:5.7)...
5.7: Pulling from library/mysql
f2aa67a397c4: Pull complete
1accf44cb7e0: Pull complete
2d830ea9fa68: Pull complete
740584693b89: Pull complete
4d620357ec48: Pull complete
ac3b7158d73d: Pull complete
a48d784ee503: Pull complete
bf1194add2f3: Pull complete
0e5c74178a02: Pull complete
c1614226503e: Pull complete
0038589109a0: Pull complete
Digest: sha256:e3ce1b609c9275ed24afb3465a9dd73cce38385e64c94755edd5e596a5c1bc8c
Status: Downloaded newer image for mysql:5.7
Pulling wordpress (wordpress:latest)...
latest: Pulling from library/wordpress
f2aa67a397c4: Already exists
c533bdb78a46: Pull complete
65a7293804ac: Pull complete
35a9c1f94aea: Pull complete
651774c607cc: Pull complete
7c01fbe5ed3d: Pull complete
9ff29ed84bfc: Pull complete
647feb0f6355: Pull complete
0b9d1c540863: Pull complete
3416ab5471ed: Pull complete
246c5fc29b1a: Pull complete
547f032430ec: Pull complete
5e139e5ea13c: Pull complete
a94f7c8b762e: Pull complete
34e9c8ec80d7: Pull complete
1e3ee2260fe8: Pull complete
04287c0c64aa: Pull complete
ef94d58d88a0: Pull complete
5368638c2501: Pull complete
5ef154e9a628: Pull complete
Digest: sha256:bd2ee79c6b461aaef56c7dc589d5a8ec9059fa2d01005cbe097e47d943973ca2
Status: Downloaded newer image for wordpress:latest
Creating my_wordpress_db_1 ... done
Creating my_wordpress_wordpress_1 ... done
4、在Web浏览器中访问WordPress
如果是本地服务器,那么你可以使用 http://localhost:8000 访问到如下页面了,如果你是云服务器你可以使用你的公网ip 访问你的应用了,如使用本机浏览器访问公网ip:8000
根据步骤安装和填写信息
以上就完成了,可根据自己的喜好设置主题,加css
如果需要重装要把文件清除干净一点,不然就算是重新拉取镜像再次重装都没效果,如果系统其他应用少考虑直接重装系统
备用安装方法:
备用方法
注意:如果是创建第二台不要和第一台端口一样
Linux系统上安装docker + Compose并创建WordPress的更多相关文章
- Redis进阶实践之二如何在Linux系统上安装安装Redis
一.引言 上一篇文章写了"如何安装VMware Pro虚拟机"和在虚拟机上安装Linux操作系统.那是第一步,有了Linux操作系统,我们才可以在该系统上安装Redis. ...
- Redis进阶实践之二如何在Linux系统上安装安装Redis(转载)(2)
Redis进阶实践之二如何在Linux系统上安装安装Redis 一.引言 上一篇文章写了“如何安装VMware Pro虚拟机”和在虚拟机上安装Linux操作系统.那是第一步,有了Linux操作系统,我 ...
- linux系统上安装java
linux系统上安装java 如何在ubuntu server上安装java(jre或jdk),主要注意以下几点: 1.下载你想要的java版本压缩包. JRE下载:http://java.com ...
- linux系统上安装svn服务器 环境linux+nginx+svnserver
系统:Ubuntu 12.04 64位 lnmp环境 集成软件:PHP5.4.27.Nginx1.6.0.MySQL5.5.37 阿里云server svnserver有2种执行方式:独立server ...
- Linux系统上安装字体
最近项目中需要控制字体类型,然后就上网查了一下在linux系统上安装字体,在window上和linux上,字体要求一样,都是ttf格式,下面这是window上的字体截图 在linux系统中的/usr/ ...
- 【Docker】在Linux系统中安装Docker虚拟机、启动停止重启查看Docker命令
安装Docker 文章目录 安装Docker Docker虚拟机架构 在Linux系统中安装Docker虚拟机 管理Docker虚拟机 参考资料 Docker虚拟机架构 Docker创建的所有虚拟实例 ...
- 在VMware的Linux系统上安装Redis
在VMware的Linux系统上安装Redis 具体过程如下: 下载,解压和编译: 在执行make的时候报错,具体报错信息如下: zmalloc.o: In function `zmalloc_use ...
- 阿里云服务器linux系统上 安装node环境
今天将阿里云服务器重windows系统重置成了linux系统, 点击上面的实例名称,进入到 点击 更换系统盘 选择linux 的centos版本(操作前需要 停止实例) 弄好后,启动实例 下面 ...
- 2300+字!在不同系统上安装Docker!看这一篇文章就够了
辰哥准备出一期在Docker跑Python项目的技术文,比如在Docker跑Django或者Flask的网站.跑爬虫程序等等. 在Docker跑Python程序的时候不会太过于细去讲解Docker的基 ...
随机推荐
- python自动化运维之路~DAY7
python自动化运维之路~DAY7 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.客户端/服务器架构 C/S 架构是一种典型的两层架构,其全称是Client/Server,即 ...
- Linux上安装Perl模块的两种方法
Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装.第一种方法是从CPAN上下载 您需要的模块,手工编译.安装.第二种方法是联上internet,使用一个叫做CPAN的模块自动完 ...
- 学习Git笔记
一.名词解释 1.仓库(Repository) 仓库用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库. 2.收藏(Star) 收藏项目,方便下次查看 3.复制克隆项目(Fork) 该f ...
- JavaSE学习总结(七)—— 集合
一.为什么需要集合 如果要将100个学生成绩存放到程序中,怎么做? 首先想到是数组 int[] scores=new int[100]; 然而,长度是固定的,比如是101个学生成绩,这个数组就不能用了 ...
- Hive记录-Sqoop常用命令
1.sqoop是什么 Sqoop是一款开源的数据迁移工具,主要用于Hadoop(Hive)与传统的关系型数据库(mysql...)相互之间的数据迁移. 2.sqoop的特点 sqoop的底层实现是ma ...
- hashmap和hashtable异同
(一)继承的历史不同 Hashtable是继承自Dictionary类的,而HashMap则是Java 1.2引进的Map接口的一个实现. public class Hashtable extends ...
- This page is about building Firefox Desktop
This page is about building Firefox Desktop The Mozilla build system, like the rest of the Mozilla c ...
- TCP 链接 存在大量 close_wait 等待
大量 close_wait 等待 调整linux下 /etc/sysctl.conf参数,里面设置参数: # net.ipv4.tcp_keepalive_time 然后执行 # sysctl -p
- Redis 模糊查询删除操作
创建一条测试 数据 查询 创建:set name xiaoming 查询: get name 1.模糊搜索查询 Redis 模糊搜索 keys * 2.删除指定key : # 删除所有以user开头的 ...
- 滑动条QSlider
QSlider只提供整数范围 滑块接受Tab键的焦点,并同时提供了一个鼠标滚轮和键盘接口.键盘接口如下: Left/Right 移动水平滑块一个步长.Up/Down 移动垂直滑块一个步长.PageUp ...