关于docker:Docker搭建私有镜像仓库与WordPress

6次阅读

共计 1615 个字符,预计需要花费 5 分钟才能阅读完成。

继续创作,减速成长!这是我参加「掘金日新打算 · 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 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 数据库里创立了好多表

正文完
 0