Docker是一项允许您构建,运行,测试和部署基于Linux容器的分布式应用程序的技术。 Docker已经在许多不同的操作系统上可用,包括Ubuntu,Mac OSX和Windows等大多数现代Linux发行版。如果您已经在使用Amazon EC2,则可以启动实例并安装Docker以开始使用。

Youtube Video:

在AWS中安装Docker的步骤

1.启动AMI EC2实例

2. xshell SSH into EC2

3. Update the installed packages 和 package cache on your instance.
sudo yum update -y

4.删除以前版本的docker

sudo yum remove docker \
                  docker-client \
                 docker-client-latest \
                  docker-common \
                  docker-latest \
                 docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                 docker-engine-selinux \
                  docker-engine

5. 安装最新的Docker社区版软件包。
sudo yum install docker


6. 启动Docker服务。
sudo service docker start




7. Add the ec2-user to the docker 组,因此您无需使用即可执行Docker命令 sudo.
sudo usermod -a -G docker ec2-user




8.Log out 和 log back in again to pick up the new docker 组权限。或者只是简单地重新启动EC2实例
Exit


9.在Docker容器中运行命令
泊坞窗exec -it ubuntu / bin / bash



在EC2中启动WordPress图像的步骤


1.从tutum / wordpress中提取图像
码头工人运行-d -p 80:80 tutum / wordpress 


2. Run WordPress image

docker run -d –name=wp1 -p 80:80 -p 443:443 tutum / wordpress 

3.显示正在运行的容器列表
docker ps


4.测试启动的wp1容器
curl http:中国体育彩票开奖localhost/  



5.使用浏览器完成著名的WordPress配置向导




迁移WordPress的步骤

1.确保WordPress版本相同


2.如果没有,请从WordPress管理页面更新到相同版本。有时,它不起作用,您可能需要像我一样手动进行更新。 


这是我收到的错误消息:

Downloading update from http:中国体育彩票开奖_downloads.wordpress.org/release/wordpress-5.0.3-new-bundled.zipUnpacking the update…
无法安装此更新,因为我们将无法复制某些文件。这通常是由于文件权限不一致造成的。:wp-admin / includes / update-core.php
Installation Failed

WordPress更新错误示例

Note: steps are from http:中国体育彩票开奖_codex.wordpress.org/Upgrading_WordPress

  • 输入Docker容器的命令行:docker exec -it wp1 /bin/bash
  • Get the latest WordPress zip (or tar.gz) file. (sudo wget http:中国体育彩票开奖_wordpress.org/latest.zip)
  • 解压缩下载的zip文件。 
  • Deactivate plugins.
  • 删除旧的 wp-includes and wp-admin 虚拟主机上的目录 
  • 移动新 wp-includes and wp-admin 目录到您的Web主机,代替以前删除的目录。
  • 从新上传单个文件 wp-content 文件夹到您现有的 wp-content 文件夹,覆盖现有文件。不要删除您现有的 wp-content 夹。请勿删除现有文件或文件夹中的任何文件或文件夹 wp-content 目录(被新文件覆盖的目录除外)。

这是我使用的所有相关命令:

sudo apt-get install wget
sudo wget http:中国体育彩票开奖_downloads.wordpress.org/release/wordpress-5.0.3.zip

unzip wordpress-5.0.3.zip -d /tmp
apt-get install unzip
unzip wordpress-5.0.3.zip -d /tmp

cd /tmp
ls
cd wordpress/
ls
cd /app
ls
rm wp-admin

rm -r wp-admin
rm -r wp-includes/
ls -l

mv /tmp/wordpress/wp-admin .

ls -l
mv /tmp/wordpress/wp-includes/ .
ls
cp /tmp/wordpress/* .
cp -a /tmp/wordpress/wp-content/* wp-content/

完成这些命令后,您可以通过输入EC2实例的公共IP地址来再次启动WordPress页面。系统将提示您升级mysql数据库。只需单击“是”继续。

3.通过插件导出您现有的WordPress网站:多合一WP迁移到本地文件。
4.安装插件:多合一WP迁移到新的WordPress网站。但是它具有文件上传限制。

5.您可以单击“方法:增加最大上传文件大小”以几种方法进行更改。最简单的方法是安装另一个插件 从中进行多合一WP迁移导入 http:中国体育彩票开奖_import.wp-migration.com。基本版本可以为您提供512MB的限制,足以满足大多数个人网站/博客的需求。

6.导入导出的文件后,仍然需要执行几个步骤来完成整个迁移。
6.1设置->永久链接。最好将其他设置更改为永久链接设置并保存,然后将其更改回原始设置并保存。

6.2您的WordPress地址和站点地址仍应为您的EC2公共IP地址。您需要将它们更改为您的站点URL,如以下屏幕截图所示。

6.3 DNS A记录更改。由于您为WordPress网站获得了新的公共IP地址,因此A记录将必须更改以匹配此更改。如果要保留现有的WordPress网站和新的WordPress网站,则只需添加一个新的A记录。您将从DNS服务器查询中获得站点的负载平衡。

Notes :

Docker Commands:

1.service docker start 中国体育彩票开奖启动docker
2.docker info 中国体育彩票开奖查看docker信息
3.docker运行ubuntu echo hello docker 中国体育彩票开奖输出hello docker
4.docker images 中国体育彩票开奖查看所拥有的
5.docker pull 中国体育彩票开奖获取images
6.docker build 中国体育彩票开奖创建image
7.docker run 中国体育彩票开奖运行容器
8.docker ps 中国体育彩票开奖列出容器
9.docker rm 中国体育彩票开奖删除container
10.docker rmi 中国体育彩票开奖删除image
11.docker cp 中国体育彩票开奖在主机和容器之间复制文件
12.docker commit -m“提交描述”容器id名称中国体育彩票开奖生成当前实例的新图像
13.docker search名称中国体育彩票开奖搜索本身
14.docker pull 名称 中国体育彩票开奖拉取镜像
15.docker push myname /名称中国体育彩票开奖上传数量

Enable SSH in Docker:

启动一个新的CentOS容器:

docker run -it –name = sample centos / bin / bash

如果尝试使用ssh localhost,则会收到以下错误:

bash:ssh:找不到命令

现在,以下步骤向您展示如何使“ ssh localhost”正常工作:
1,yum安装openssh-server
2,yum安装openssh-clients
这时候再试一下ssh localhost,发现错误改变:
ssh:连接到主机localhost端口22:无法分配请求的地址
说明sshd服务还没有开启。用ps -ef也可以验证这一点。
由于是docker里面的centos,所以服务和systemctl都不好用。
尝试手动运行/usr/sbin/sshd
报如下错误:
1,无法加载主机密钥:/ etc / ssh / ssh_host_rsa_key
2,无法加载主机密钥:/ etc / ssh / ssh_host_ecdsa_key
3,无法加载主机密钥:/ etc / ssh / ssh_host_ed25519_key
4,sshd:没有可用的主机密钥-正在退出。
手动执行/ usr / sbin / sshd-keygen -A
再执行/usr/sbin/sshd成功。
为了免密码本机跳本机,执行如下命令:
1,ssh-keygen -t rsa -P” -f〜/ .ssh / id_rsa
2,猫〜/ .ssh / id_rsa.pub>>〜/ .ssh / authorized_keys
3、chmod 0600〜/ .ssh / authorized_keys
至此,执行ssh localhost就能成功。

References:
1. 适用于Amazon ECS的Docker基础

By johnyan

关于“在AWS EC2实例的Docker中运行WordPress”的一种思考
  1. Hi,

    非常感谢,它真的很有帮助。

    我有一个问题,我不能使用任何插件,因为它说我没有激活任何PHP库。您是否知道已经激活了curl库的wordpress泊坞窗图像,我可以使用吗?

Leave a Reply