这次我打算写一个实战教程,以前写的教程大多数是根据自己掌握的知识去写的,并非实战,这次试一下吧

首先docker这个东西我强烈推荐学习,因为真的很好用

1、服务安装

1.1、安装docker

首先,使用yum安装docker,命令如下

yum install -y docker

安装完的截图如下

docker mssql2014国内镜像 docker mysql镜像制作_数据库

1.2、配置加速镜像

请通过此篇进行配置:国内Docker镜像加速汇总

配置完成之后,使用下面的命令进行重启

systemctl daemon-reload;systemctl restart docker
systemctl enable docker

2、创建容器

2.1、创建MySQL容器

接下来就是创建容器了,首先我们的网站需要记录信息,有账号密码,所以第一个先创建数据库容器,命令如下

docker pull mysql:5.7
docker run -tid  -p 3306:3306 --name=mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 /bin/bash

备注: 
- docker run :启动容器 
- -d:后台运行容器 
- -e MYSQL_ROOT_PASSWORD=123456:指定容器的环境参数,此处初始化MariaDB的root密码 
- -p 3306:3306:端口映射,这里将容器内的3306端口映射到本机的3306端口 

--name=mysql #设置这个容器的名称为mysql

mysql:5.7 :通过mysql:5.7镜像创建容器

 

2.2、创建wordpress容器

创建之前可以先拉镜像(也可以不事先拉取,因为创建容器的时候会自动检测,如果本地找不到指定的镜像则自动从仓库拉)

docker pull wordpress

拉取过程:

root@l:~# docker pull wordpress
Using default tag: latest
latest: Pulling from library/wordpress
bb79b6b2107f: Pull complete 
80f7a64e4b25: Pull complete 
da391f3e81f0: Pull complete 
8199ae3052e1: Pull complete 
284fd0f314b2: Pull complete 
f38db365cd8a: Pull complete 
1416a501db13: Pull complete 
be0026dad8d5: Pull complete 
7bf43186e63e: Pull complete 
c0d672d8319a: Pull complete 
645db540ba24: Pull complete 
6f355b8da727: Pull complete 
aa00daebd81c: Pull complete 
98996914108d: Pull complete 
69e3e95397b4: Pull complete 
5698325d4d72: Pull complete 
b604b3777675: Pull complete 
57c814ef71bc: Pull complete 
a336d2404e01: Pull complete 
2e2e849c5abf: Pull complete 
Digest: sha256:4fb444299c3e0b1edc4e95fc360a812ba938c7dbe22a69fb77a3f19eefc5a3d3
Status: Downloaded newer image for wordpress:latest

 

获取成功之后,我们来看一下我们有哪些镜像

docker images

 

root@l:~# docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
wordpress                    latest              984d142b153e        2 days ago          546MB
debian                       10                  1510e8501783        3 weeks ago         114MB
zabbix/zabbix-server-mysql   latest              58e1ce60b11e        7 weeks ago         67.2MB
mysql                        8                   e1d7dc9731da        7 weeks ago         544MB
debian                       9                   27f9bc730bd1        8 weeks ago         101MB
debian                       <none>              f6dcff9b59af        8 weeks ago         114MB
mariadb                      10                  b28df07deb6c        2 months ago        407MB
mariadb                      latest              b28df07deb6c        2 months ago        407MB
centos                       7                   7e6257c9f8d8        2 months ago        203MB
centos                       8                   0d120b6ccaa8        2 months ago        215MB
centos                       latest              0d120b6ccaa8        2 months ago        215MB
mysql                        5.7                 718a6da099d8        3 months ago        448MB
mysql                        8.0                 0d64f46acfd1        3 months ago        544MB
debian                       latest              ee11c54e6bb7        3 months ago        114MB

现在我们来创建一个word press镜像,并使之与MySQL镜像互相连接,也就是直接采用数据库镜像的数据库服务

docker run -tid -p 80:80 --link mysql:db wordpress

 

创建结果:

root@l:~# docker run -tid -p 80:80 --link mysql:db wordpress
d1263d635127609147cf0e618aae0f2f7f841b214958ce0d84cd6d6fd2ff66a6
root@l:~# docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                     PORTS                               NAMES
d1263d635127        wordpress                    "docker-entrypoint.s…"   18 seconds ago      Up 17 seconds              0.0.0.0:80->80/tcp                  vigilant_bhaskara
ba6d0c93793e        mysql:5.7                    "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes               0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
b31e7fa60187        debian:10                    "/bin/bash"              2 days ago          Exited (0) 2 days ago                                          ftp_rw
3a6ca1349872        centos:7                     "/usr/sbin/init"         6 weeks ago         Exited (255) 3 weeks ago                                       musing_sinoussi
b17dd08b53c8        centos:7                     "/usr/sbin/init"         7 weeks ago         Exited (255) 7 weeks ago   0.0.0.0:33061->3306/tcp             db
fec17fdafa0c        zabbix/zabbix-server-mysql   "/sbin/tini -- /usr/…"   7 weeks ago         Exited (143) 7 weeks ago                                       zabbix-server-mysql
root@l:~#

 

 

因为没设置容器名称,所以如果对容器名称有要求的话,可以对该容器重命名

docker reaname ${容器名/ID} ${新的名称}

 

修改结果如下:

root@l:~# docker rename vigilant_bhaskara wordpress
root@l:~# docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                     PORTS                               NAMES
d1263d635127        wordpress                    "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes               0.0.0.0:80->80/tcp                  wordpress
ba6d0c93793e        mysql:5.7                    "docker-entrypoint.s…"   9 minutes ago       Up 9 minutes               0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
b31e7fa60187        debian:10                    "/bin/bash"              2 days ago          Exited (0) 2 days ago                                          ftp_rw
3a6ca1349872        centos:7                     "/usr/sbin/init"         6 weeks ago         Exited (255) 3 weeks ago                                       musing_sinoussi
b17dd08b53c8        centos:7                     "/usr/sbin/init"         7 weeks ago         Exited (255) 7 weeks ago   0.0.0.0:33061->3306/tcp             db
fec17fdafa0c        zabbix/zabbix-server-mysql   "/sbin/tini -- /usr/…"   7 weeks ago         Exited (143) 7 weeks ago                                       zabbix-server-mysql
root@l:~#

3、初始化部署

3.1、访问安装程序

这时候我们来浏览器访问服务器地址,因为我是本地部署的,所以我的访问地址是:

http://localhost

在浏览器输入网址之后,进入wordpress语言选择界面 

 

docker mssql2014国内镜像 docker mysql镜像制作_mysql_02

3.2、选择语言

这时候已经可以配置网站信息,在这里选择我们的中文之后,点击继续:

docker mssql2014国内镜像 docker mysql镜像制作_数据库_03

3.3、配置数据库信息

点击继续之后,进入数据库配置提示信息:这一步的配置提示不用管,直接下一步

docker mssql2014国内镜像 docker mysql镜像制作_docker_04

然后进入这个界面:

docker mssql2014国内镜像 docker mysql镜像制作_mysql_05

这时候我们需要查看MySQL容器的IP地址,然后进入MySQL容器创建一个数据库给wordpress使用,操作如下:

3.4、创建数据库

首先进入容器:

docker exec -ti mysql /bin/bash

然后尝试登录:

root@ba6d0c93793e:/# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

此时提示服务未运行,所以我们需要先启动服务:

 

查询到地址之后,还要创建一个wordpress的数据库,所以我们要进入数据库容器

docker exec -it mariadb /bin/bash   ##进入数据库容器

进入之后,登录数据库

mysql -uroot -p

上面两条命令的执行截图如下

进入之后,我们需要创建一个数据库给word press使用,所以这时候输入

create database wordpress;

然后新建一个数据库用户用于专属使用wordpress,第一个涂抹点就是用户名,第二个就是密码;%代表允许任何主机登陆,可以输入特定的IP

CREATE USER 'user'@'%' IDENTIFIED BY 'passwd';

创建完成之后给予该用户相关操作权限,下面这个命令就是给该用户对wordpress数据库所有的操作权限

grant all on wordpress.* to 'user'@'%' with grant option;

最后刷新权限

flush privileges;

这时候就可以回到网页那里了,输入刚才那些信息

点击提交之后就可以连接到数据库了

然后是设置网站信息,设置之后点击安装

提示安装成功

最后打开首页