docker–compose;私有镜像仓库harbor搭建;镜像推送到私有仓库harbor
docker–compose
Docker compose可以方便我们快捷高效地管理容器的启动、停止、重启等操作,它类似于linux下的shell脚本,基于yaml语法,在该文件里我们可以描述应用的架构,比如用什么镜像、数据卷、网络模式、监听端口等信息。
我们可以在一个compose文件中定义一个多容器的应用(比如wordpress),然后通过该compose来启动这个应用。
官方地址 https://github.com/docker/compose/releases
curl -L https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod a+x /usr/local/bin/docker-compose
docker-compose version
vi docker-compose.yml ##写入如下内容
services:
db: # 服务1:db
image: mysql:5.7 # 使用镜像 mysql:5.7版本
volumes:
- db_data:/var/lib/mysql # 数据持久化
restart: always # 容器服务宕机后总是重启
environment: # 环境配置
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress: # 服务2:wordpress
depends_on: # wordpress服务启动时依赖db服务,所以会自动先启动db服务
- db
image: wordpress:latest # 使用镜像 wordpress:latest最新版
ports:
- "8000:80" #端口映射8000:80
restart: always
environment: # 环境
WORDPRESS_DB_HOST: db:3306 # wordpress连接db的3306端口
WORDPRESS_DB_USER: wordpress # wordpress的数据库用户为wordpress
WORDPRESS_DB_PASSWORD: wordpress # wordpress的数据库密码是wordpress
WORDPRESS_DB_NAME: wordpress # wordpress的数据库名字是wordpress
volumes:
db_data: {}
这样一个wordpress就安装好了,访问ip:8000就可以进行搭建。
docker-compose up -d
docker-compose ps
还可以停止
docker-compose stop
私有镜像仓库harbor搭建
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是 由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
harbor官方地址: https://goharbor.io
github地址: https://github.com/goharbor/harbor
如果有自己的域名,可以到https://freessl.cn/ 申请免费的ssl证书
证书申请教程
http://t.csdnimg.cn/tfel6
安装好docker-compose
https://github.com/goharbor/harbor/releases
tar zxf harbor-offline-installer-v2.6.2.tgz -C /opt/
3)准备配置文件
cd /opt/harbo
cp harbor.yml.tmpl harbor.yml ##将模板配置文件拷贝一份为正式的配置文件
vi harbor.yml
修改 hostname: [reg.mydomain.com](http://reg.mydomain.com/) 为 hostname: [harbor.jiangrou.com](http://harbor.jiangrou.com/)
修改 certificate: /your/certificate/path 和 private_key: /your/private/key/path 为具体的证书地址
修改 harbor_admin_password 为合适的密码
5)安装
sh install.sh #配置文件出错这里会安装失败,证书的每个字母都不能出错。
docker-compose ps ##查看服务
docker-compose stop ##关闭
docker-compose up -d ##启动
镜像推送到私有仓库harbor
docker pull tomcat
docker tag tomcat harbor.jiangrou.top/tang/tomcat:latest #推送时候会用到,拉取完先打标签
# docker login https://harbor.jiangrou.top
输入用户名和密码
# docker push harbor.jiangrou.top/tang/tomcat:latest #推送前要查看打的tag是否跟这个链接对应
推送成功
问题: x509: certificate signed by unknown authority
需要在客户端机器上(也就是你执行docker login的机器上)执行
需要在客户端机器上(也就是你执行docker login的机器上)执行
1) echo -n | openssl s_client -showcerts -connect harbor.jiangrou.top:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> /etc/ssl/certs/ca-bundle.trust.crt
2)systemctl restart docker
核心知识点/面试考点:
● docker-compse的yaml参数了解;
https://blog.51cto.com/u_13538361/6623629
步骤:
1、修改yaml文件,https注释;
2、通过当前目录下 install.sh 再次重新编译配置;
3、配置非安全仓库 /etc/docker/daemon.json insecure–registries
4、systemctl daemon-reload && systemctl restart docker
5、 docker login
https://blog.csdn.net/zhuganlai168/article/details/133737183
扩展知识点:
Docker-compose基础知识梳理 https://www.jianshu.com/p/3ec37fe0e6b2
Harbor配置优化,配置文件深度解析 https://blog.51cto.com/lidabai/5180443
原文地址:https://blog.csdn.net/weixin_44681307/article/details/134713898
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_21964.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!