最近在看CI/CD与k8s,作为前期准备,先熟悉一下Docker的基本操作,这里我们先用Docker部署几个服务
Docker搭建私有镜像仓库Docker Registry
在Docker Hub上搜索registry,目的是为了确定我们要拉取的镜像版本
https://registry.hub.docker.com/_/registry
最终确定最新的稳定版本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数据库里创建了好多表
原文链接:https://www.cnblogs.com/okokabcd/p/16795344.html
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END