docker学习笔记
标签:docker
docker基本命令
dockerfile介绍
1 | FROM 指定基础镜像,必须为第一个命令 |
例子:基于centos打包php镜像
1 | #目录结构 |
1 | RUN yum install -y wget |
docker-compose介绍
基础命令
1 | #docker-compose build |
docker-compose.yml语法
1 | version: "3" #指定语法的版本 |
例子:搭建lnmp环境
1 | #环境目录 |
1 | vim nginx/nginx.conf |
这里安装的是docker hub上原生的php镜像里面许多的扩展模块是没有的,我们需要用dockerfile自定义一个php镜像。参考官方给出的方法
1 | vim Dockerfile |
1 | docker build -t php7.1:v1 . #镜像名称是php7.1版本是v1,点表示使用当前目录的Dockerfile文件 |
搭建docker私有镜像站
docker原生的镜像站是registry,感觉界面不是很友好所以我使用了harbor
1 | https://github.com/goharbor/harbor/releases #项目下载地址 |
1 | wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.6.1.tgz |
1 | ./install.sh #自动安装 |
安装完成之后访问http://192.168.0.188即可访问
添加一个项目名称为test添加一个用户名称为root
docker默认上传方式是https,所以要修改docker配置
1 | vim /etc/docker/daemon.json |
上传下载docker镜像
先登陆本地仓库
1 | docker login 192.168.0.188 |
再给镜像打上tag
1 | docker tag php:v3 192.168.0.188/test/php7.1:v1 |
然后上传镜像
1 | docker push 192.168.0.188/test/php7.1 |
提示上传成功后就大功告成了
docker-swarm介绍
首先准备最少两台虚拟机搭建docker-swarm集群环境
| 主机名 | 主机地址 |
|---|---|
| manager | 192.168.0.189 |
| node1 | 192.168.0.198 |
初始化两台主机
1 | #192.168.0.189 |
配置docker
1 | vim /etc/sysconfig/docker |
部署docker-swarm
1 | docker pull swarm |
swarm的web界面
1 | docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer |
简单的使用案例
1 | docker network create -d overlay dockernet |
结合docker-compose使用
创建一个简单的docker-compose示例
1 | [root@manager opt]# tree |
使用docker-swarm启动docker-compose
1 | #创建 |