
# 使用Docker run运行容器
Docker是一个开源的应用容器引擎。容器引擎是Kubernetes（k8s）最重要的组件之一，负责管理镜像和容器的生命周期。使用Docker，无需配置运行环境，镜像中会包含一整套环境，同时进程间是隔离的，不会相互影响。
Docker容器都是由docker镜像创建，Docker利用容器来运行应用，Docker容器包含了应用运行所需要的所有环境。
#### 镜像准备
WordPress和MySQL的镜像都是通用镜像，可以直接从镜像中心获取。
您可以在安装了容器引擎的机器上使用**docker pull**命令即可下载镜像，如下所示。
```
docker pull mysql:5.7
docker pull wordpress
```
下载完成后，执行**docker images**命令可以看到本地已经存在两个镜像，如下图所示。
![](https://support.huaweicloud.com/bestpractice-cci/zh-cn_image_0117047723.png "点击放大")
#### 运行容器
使用容器引擎可以直接运行Wordpress和MySQL，且可以使用**--link**参数将两个容器连接，在不改动代码的情况下让Wordpress的容器访问MySQL的容器。
执行下面的命令运行MySQL。
```
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=******** -e MYSQL_DATABASE=wordpress -d mysql:5.7
```
参数解释如下：
- --name指定容器的名称为some-mysql。
- -e指定容器的环境变量。如这里指定环境变量MYSQL_ROOT_PASSWORD的值为**\*\*\*\*\*\*\*\***，请替换为您设置的密码。指定环境变量MYSQL_DATABASE，镜像启动时要创建的数据库名称为wordpress。
- -d表示在后台运行。
执行下面的命令运行Wordpress。
```
docker run --name some-wordpress --link some-mysql:mysql -p 8080:80 -e WORDPRESS_DB_PASSWORD=******** -e WORDPRESS_DB_USER=root -d wordpress
```
参数解释如下：
- --name指定容器的名称为some-wordpress 。
- --link指定some-wordpress容器链接some-mysql容器，并将some-mysql命名为mysql。这里--link只是提供了一种方便，不使用--link的话，可以指定some-wordpress的环境变量WORDPRESS_DB_HOST访问mysql的IP与端口。
- -p指定端口映射，如这里将容器的80端口映射到主机的8080端口。
- -e指定容器的环境变量，如这里指定环境变量WORDPRESS_DB_PASSWORD的值为**\*\*\*\*\*\*\*\***，请替换为您设置的密码。Wordpress的环境变量WORDPRESS_DB_PASSWORD必须与MySQL的环境变量MYSQL_ROOT_PASSWORD值相同，这是因为Wordpress需要密码访问MySQL数据库。WORDPRESS_DB_USER为访问数据的用户名，使用用户root去连接MySQL。
- -d表示在后台运行。
Wordpress运行之后，就可以在本机通过http://127.0.0.1:8080访问Wordpress博客了，如下所示。
![](https://support.huaweicloud.com/bestpractice-cci/zh-cn_image_0117042676.png)
