文档首页/ 云容器实例 CCI/ 最佳实践/ 负载创建/ 使用Docker run运行容器
更新时间:2024-01-16 GMT+08:00

使用Docker run运行容器

Docker是一个开源的应用容器引擎。容器引擎是Kubernetes(k8s)最重要的组件之一,负责管理镜像和容器的生命周期。使用Docker,无需配置运行环境,镜像中会包含一整套环境,同时进程间是隔离的,不会相互影响。

Docker容器都是由docker镜像创建,Docker利用容器来运行应用,Docker容器包含了应用运行所需要的所有环境。

镜像准备

WordPress和MySQL的镜像都是通用镜像,可以直接从镜像中心获取。

您可以在安装了容器引擎的机器上使用docker pull命令即可下载镜像,如下所示。

docker pull mysql:5.7
docker pull wordpress

下载完成后,执行docker images命令可以看到本地已经存在两个镜像,如下图所示。

运行容器

使用容器引擎可以直接运行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博客了,如下所示。