实验环境
系统: Ubuntu Server 16.04
Docker 版本: 17.09.0-ce
三个概念
镜像(image)
一个特殊的文件系统(使用 Union FS 技术),镜像不包含任何动态数据,其内容在构建之后也不会被改变。
容器(container)
容器就是镜像的运行时,容器可以被创建、启动、停止、删除、暂停等。
tips: 容器里面的存储会随着容器删除而丢失,根据 Docker 最佳实践的要求,容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。
仓库(repository)
仓库是我们拉货(镜像)的位置,官方的仓库是 Docker Hub
安装 Docker 并配置镜像加速
sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get -y update sudo apt-get -y install docker-ce sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://6xacs6l2.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
搭建 wordpress
1.拉取 wordpress 镜像
docker pull wordpress:latest
docker pull
命令用于去仓库拉取镜像
wordpress:latest
是镜像名和对应镜像的版本
2.运行 wordpress 镜像
docker run –name mwp -e WORDPRESS_DB_HOST=192.168.2.197:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=123456 -p81:80 -d wordpress
docker run
命令用于去运行一个镜像,会产出一个容器。
--name mwp
为产出的容器取一个别名,非必须。
-e WORDPRESS_DB_HOST
配置数据库位置。
需要注意的是如果使用宿主机的数据库,不能使用 localhost 或 127.0.0.1 ,因为这样会指向容器自身。
-e WORDPRESS_DB_USER
配置数据库用户名。
-e WORDPRESS_DB_PASSWORD
配置数据库密码。
-p 81:80
映射端口,将容器的 80 端口映射到宿主机 81 端口。
-d
后台运行 wordpress 镜像
3.查看运行中的镜像——mwp容器
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bdea494df12b wordpress "docker-entrypoint..." 10 hours ago Up 2 hours 0.0.0.0:81->80/tcp mwp
接着访问 192.168.2.197:81
就是配置 wordpress 了。
可能会遇到的问题
-
运行
wordpress
镜像之后,docker ps
查看运行中的容器没有 mwp 容器
这时最大可能就是数据库配置错误,检查你的数据库是否可以被外部访问等。 -
运行
wordpress
镜像,数据库也自动生成了,但是访问被拒绝。由于 wordpress 自身是使用php
的,所以你可能需要检查系统上是否安装了php
。 特别的,有可能在使用 -p 端口映射时外部的端口被禁用。
原文链接:https://blog.csdn.net/xiaoping0915/article/details/79515309?ops_request_misc=&request_id=a33692c262e541fbad46a1a655f78274&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-20-79515309-null-null.268%5Ev1%5Econtrol&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81