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

Youtube Video:

在AWS中安装Docker的步骤

1.启动AMI EC2实例

2. xshell SSH into EC2

3. 更新实例上的已安装的包和包缓存。
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. Start the Docker service.
sudo service docker start




7. Add the ec2-user to the docker 组,因此您可以在不使用的情况下执行Docker命令 sudo.
sudo usermod -a -G docker ec2-user




8.注销并再次登录以拾取新的 docker 组权限。或者只是简单重启EC2实例
Exit


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



在EC2中启动WordPress图像的步骤


1.从tutum / wordpress拉动图像
Docker Run -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 //downloads.wordpress.org/release/wordpress-5.0.3-new-bundled.zipUnpacking the update…
无法安装更新,因为我们无法复制某些文件。这通常是由于文件权限不一致.: wp-admin /包括/ update-core.php
Installation Failed

WordPress更新错误示例

Note: steps are from //codex.wordpress.org/Upgrading_WordPress

  • 输入Docker容器的命令行:Docker Exec-it wp1 /bin/bash
  • Get the latest WordPress zip (or tar.gz) file. (sudo wget //wordpress.org/latest.zip)
  • 解压缩您下载的ZIP文件。 
  • Deactivate plugins.
  • Delete the old wp-includes and wp-admin directories on your web host 
  • move the new wp-includes and wp-admin directories to your web host, in place of the previously deleted directories.
  • Upload the individual files from the new wp-content folder to your existing wp-content folder, overwriting existing files. Do NOT delete your existing wp-content folder. Do NOT delete any files or folders in your existing wp-content directory (except for the one being overwritten by new files).

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

sudo apt-get install wget
sudo wget //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.将插件安装:包含在新的WordPress站点中的一体化WP迁移。但它有文件上传限制。

5.您可以单击HON-To:提高最大上传文件大小以获得几种方法来更改它。最简单的方法是安装另一个插件一体化的WP迁移导入 //import.wp-migration.com。基本版本可以给您512MB的限制,这足以满足大多数个人网站/博客。

6.导入导出文件后,仍然有几个步骤来完成整个迁移。
6.1设置 - >永久链接。最好将其更改为expalink设置和保存的其他东西,然后将其更改为原始设置并保存的内容。

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

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

Notes :

Docker Commands:

1.Service Docker Start //动手Docker
2.docker info //查看docker信息
3.Docker运行Ubuntu Echo Hello Docker //输出Hello Docker
4.Docker图像//查看所拥镜像
5.docker pull //获取images
6.docker build //创建image
7.docker run //运行container
8.docker ps //列出container
9.docker rm //删除container
10.docker rmi //删除image
11.docker cp //在主机和容器之间拷贝拷文章
12.Docker Comm-M'提交描述'容器ID名称//生成当前节点的新图像
13.Docker搜索名称//搜索镜像
14.docker pull 名称 //拉取镜像
15.Docker推送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也可验证这一点。

尝试手动运行/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:没有Hostkeys可用 - 退出。
动弹行行/ usr / sbin / sshd-keygen -a
再执行/usr/sbin/sshd成功。
为了免密码本机跳本机,执行如下命令:
1,ssh-keygen -t rsa -p“-f〜/ .ssh / id_rsa
2,cat〜/ .ssh / id_rsa.pub>>〜/ .ssh / authorized_keys
3、chmod 0600〜/ .ssh / authorized_keys
至此,执行ssh localhost就能成功。

References:
1. 亚马逊ECS的Docker基础知识

By Jonny

关于“AWS EC2实例码头的运行WordPress”的一个想法
  1. Hi,

    非常感谢你真的有帮助。

    我有一个问题,我不能使用任何插件,因为它说我没有激活PHP库。您是否知道使用已经激活的卷曲库的WordPress的Docker图像我可以使用?

Leave a Reply