Docker搭建私有镜像仓库与WordPress

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第16天,点击查看活动详情

最近在看CI/CD与k8s,作为前期准备,先熟悉一下Docker的基本操作,这里我们先用Docker部署几个服务

Docker搭建私有镜像仓库Docker Registry

在Docker Hub上搜索registry,目的是为了确定我们要拉取的镜像版本

https://registry.hub.docker.c...

最终确定最新的稳定版本2.8.1

拉取镜像

docker pull registry:2.8.1

运行registry实例

docker run -d -p 5000:5000 registry:2.8.1

说明:

  • -d 后台运行
  • -p 端口映射,容器端口:主机端口

查看运行状态

docker ps

打标签上传

# 先下载一个nginx镜像
docker pull nginxLalpine

# 查看镜像
docker images

docker tag nginx:alpine 127.0.0.1:5000/nginx:alpine
docker push 127.0.0.1:5000/nginx:alpine

说明:

  • 因为上传的目标不是默认的Docker Hub,而是本地私有仓库,所以镜像的名字前必须加仓库地址

验证是否推送成功

docker rmi 127.0.0.1:5000/nginx:alpine
docker pull 127.0.0.1:5000/nginx:alpine

查看Registry仓库镜像,Registry只提供了RESTful API

curl 127.0.0.1:5000/v2/_catalog
curl 127.0.0.1:5000/v2/nginx/tags/list

Docker搭建WordPress网站

网络架构图

Docker搭建私有镜像仓库与WordPress_第1张图片

拉取相关镜像

docker pull wordpress:5
docker pull mariadb:10
docker pull nginx:alpine

运行MariaDB实例


docker run -d --rm \
    --name wp-mariadb
    --env MARIADB_DATABASE=db \
    --env MARIADB_USER=wp \
    --env MARIADB_PASSWORD=123 \
    --env MARIADB_ROOT_PASSWORD=123 \
    mariadb:10

说明:

  • 我们指定数据库为db,用户名为wp,密码为123,管理员密码为123

验证数据库,通过执行数据库客户端工具进入数据库

docker exec -it wp-mariadb mysql -u wp -p

查看容器的IP

docker inspect wp-mariadb | grep IPAddress

运行wordpress实例


docker run -d --rm \
    --name wp
    --env WORDPRESS_DB_HOST=172.17.0.2 \
    --env WORDPRESS_DB_USER=wp \
    --env WORDPRESS_DB_PASSWORD=123 \
    --env WORDPRESS_DB_NAME=db \
    wordpress:5

先准备一份nginx配置文件 /opt/docker/wordpress/wp.conf


server {
  listen 80;
  default_type text/html;

  location / {
      proxy_http_version 1.1;
      proxy_set_header Host $host;
      proxy_pass http://172.17.0.3;
  }
}

运行nginx实例


docker run -d --rm \
    -p 80:80 \
    -v `pwd`/wp.conf:/etc/nginx/conf.d/default.conf \
    nginx:alpine

验证是否启动成功

docker ps

初始化网站

浏览器输入 http://192.168.2.101:80,进行WordPress初始化

验证是否搭建成功

再次登录MariDB,db数据库里创建了好多表

你可能感兴趣的:(docker)