gdjlc

培养良好的习惯,每天一点一滴的进步,终将会有收获。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

查看系统是否已安装docker

rpm -qa|grep docker

安装yum-utils

yum install yum-utils

设置阿里云仓库,速度快点

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum软件包索引

yum makecache fast

安装最新版本的 Docker Engine-Community 和 containerd

yum install docker-ce docker-ce-cli containerd.io

如果安装指定版本,可以先列出并排序您存储库中可用的版本

yum list docker-ce --showduplicates | sort -r

安装指定版本,例如

yum install docker-ce-19.03.12 docker-ce-cli-19.03.12 containerd.io

修改docker配置文件

mkdir /etc/docker
vim /etc/docker/daemon.json

添加如下内容

{
 "insecure-registries": ["registry.cn-shenzhen.aliyuncs.com" ],
 "registry-mirrors": ["http://hub-mirror.c.163.com"],
 "storage-driver": "overlay2",
 "storage-opts": ["overlay2.override_kernel_check=true"],
 "graph": "/var/lib/docker",
 "hosts": [
    "tcp://0.0.0.0:2375",
    "unix:///var/run/docker.sock"
  ],"log-driver": "json-file",
    "log-opts": {
        "labels": "production_status,geo",
        "env": "os,customer",
           "max-size": "10m",
        "max-file": "10"
    }
}

防火墙开启端口2375

firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload

重新加载

systemctl daemon-reload

设置开机自启

sed -i 's/ExecStart=\/usr\/bin\/dockerd -H fd:\/\/ --containerd=\/run\/containerd\/containerd.sock/ExecStart=\/usr\/bin\/dockerd/g' /usr/lib/systemd/system/docker.service
systemctl enable docker

启动docker服务

systemctl start docker

关闭docker服务

systemctl stop docker

查看启动状态

systemctl status docker

Docker 一些命令

列出容器

docker ps

列出名称前面是eureka的容器

docker ps --filter "name=eureka*"

获取容器的日志

查看指定时间后的日志,只显示最后100行:

docker logs -f -t --since="2022-02-01" --tail=100 CONTAINER_ID

查看最近30分钟的日志:

docker logs --since 30m CONTAINER_ID

查看某时间段日志:

docker logs -t --since="2022-02-01T14:00:00" --until "2022-02-01T18:00:00" CONTAINER_ID

参数说明:
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

获取容器的日志并形成文件

docker logs CONTAINER_ID | cat $1 > /opt/1.log

列出本地镜像

docker images

 

Docker Swarm集群配置

Docker Swarm 是 Docker 的集群管理工具。
Swarm将不同的docker容器集成为管理节点-工作节点的集群模式,建立联系的同时也可以分配计算资源,实现以docker容器为单元的并行任务。

初始化主节点IP,下面IP根据实际填写

docker swarm init --advertise-addr 172.16.21.2

提示如下:
Swarm initialized: current node (8azm131yfktebn614qz52pog0) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-clddfohcl2iz236biiyiu6pufe6xmuzt3qfun1vdw1zweme120-lin75iwfgwar73hhfifsirnpc 172.16.21.2:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
备注:如果要加入集群,可按上面命令docker swarm join……执行

运行下面命令,如果看到结果有一行swarm:active,说明swarm已被激活 

docker info

查询节点情况,第一列的ID值会为上面的 8azm131yfktebn614qz52pog0

docker node ls

docker 提供多种网络模式,可以根据需求来使用。
例如在一台主机(host)或者同一个docker engine上面运行continer,就可以选择bridge网络模式;
在多台host上来运行多个container来协同工作,overlay模式就是我们的首选。

docker network create --driver overlay app_net

节点打标签,最后的值对应上面的节点ID值

docker node update --label-add role=gateway 8azm131yfktebn614qz52pog0

 

Docker Stack

基于Docker Swarm,在Compose(.yml)声明文件中定义应用,然后通过docker stack deploy命令完成部署和管理。

列出服务

docker service ls

列出现有堆栈

docker stack ls

删除堆栈

docker stack rm

部署新的堆栈或更新现有堆栈

docker stack deploy [OPTIONS] STACK

参数说明:

--bundle-file 分布式应用程序包文件的路径
--compose-file, -c Compose文件的路径
--with-registry-auth 不加则默认false,将注册表身份验证详细信息发送给Swarm代理

posted on 2022-02-14 11:05  gdjlc  阅读(783)  评论(0编辑  收藏  举报