继续创作,减速成长!这是我参加「掘金日新打算 · 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 imagesdocker tag nginx:alpine 127.0.0.1:5000/nginx:alpinedocker push 127.0.0.1:5000/nginx:alpine

阐明:

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

验证是否推送胜利

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

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

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

Docker搭建WordPress网站

网络架构图

拉取相干镜像

docker pull wordpress:5docker pull mariadb:10docker 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数据库里创立了好多表