Dockerfile
一键创建docker镜像
通过编写Dockerfile,可以将环境配置、应用程序代码、依赖关系等打包成一个镜像,便于快速创建容器。

Docker常用指令
|------------|----------------------|
| 指令 | 功能 |
| FROM | 指定基础镜像(父镜像) |
| LABEL | 添加新建镜像的元数据(作者、邮箱、简介) |
| RUN | 在容器中执行linux命令 |
| ENV | 在容器中设置环境变量 |
| ADD | 复制本地文件自动解压缩,支持URL下载 |
| COPY | 只有复制功能 |
| VOLUME | 指定持久化目录 |
| CMD | 容器启动时执行的命令,会被运行的命令覆盖 |
| ENTRYPOINT | 容器启动时运行的命令,但不会被命令覆盖 |
| WOEKDIR | 工作目录,等价执行cd |
| EXPOSE | 指定对外暴露的端口 |
DockerCompose
单机容器编排,一键批量管理多个容器,使用yaml格式
Docker-compose.yml
docker compose up -d
docker compose down
Docker私有镜像站-Harbor
私有镜像站,方便管理,下载部署内部的镜像
cd /opt
wget http://192.168.57.200/Software/harbor-offline-installler-v2.14.0.tgz
tar -xvf harbor-offline-installler-v2.14.0.tgz
vim /etc/docker/json.n
Docker-Swarm
多主机容器集群管理;统一管理多台服务器上的Docker容器;
需要至少一个master节点:统一管理node节点和所有node节点上的容器;
192.168.146.10 master
192.168.146.11 node1
192.168.146.12 node2
查看节点状态
docker node ls
在集群中创建overlay网络,让不同宿主上的容器可以在同一网段内通信,方便搭建负载均衡
docker network create -d overlay nginx_net
使用service创建相同容器的集群,至少需要一个副本
docker service create --replicas 3 --network nginx_net --name my_nginx -p 80:80 nginx
扩容、缩容
docker service scale my_nginx=6
docker service scale my_nginx=2
容器版本升级、回滚
docker service ps my_nginx
