docker swarm

底层实现

命令列表 基于centos7

名称 指令 详细
开放HTTP的API /lib/systemd/system/docker.service ExecStart 参数后面加上 -H tcp://0.0.0.0:2375
刷新配置 systemctl daemon-reload
查看完整的报错信息 systemctl status docker -l
启动一个docker集群 docker swarm init --listen-addr 192.168.1.112:8888 --advertise-addr 192.168.1.112
查看集群情况 docker node ls 节点id后的星号据说表示的是你当前连接着的节点
构建服务 docker service create --replicas 1 --name swarmtest tomcatssh:v1
查看创建的服务 docker service ls docker service inspect --pretty swarmtest (详细信息)
查看服务swarmtest在各个节点的运行情况 docker service ps swarmtest
服务伸缩 docker service scale swarmtest=5
删除所有节点的swarmtest服务 docker service rm swarmtest
滚动更新 docker service update --image tomcatssh:v2 swarmtest
跳过错误 docker service update后面的--update-failure-action
节点管理 - 停止分配新任务 docker node update --availability drain worker2
退出swarm集群 docker swarm leave
查看服务日志 docker service log nginx
使用compose部署服务 docker stack deploy -c docker-compose.yml wordpress
查看服务 docker stack ls
移除服务 docker stack down
敏感数据-创建secret openssl rand -base64 20 docker secret create mysql_password -
查看secret docker secret ls
管理配置信息 docker config create redis.conf redis.conf
查看config docker config ls

创建MySQL服务

docker network create -d overlay
docker service create \
    --name mysql \
    --replicas 1 \
    --network mysql_private \
    --mount type=volumn, source=mydata, destination=/var/lib/mysql \
    --secret source=mysql_root_password, target=mysql_root_password \
    --secret source=mysql_password, target=mysql_password \
    -e MYSQL_ROOT_PASSWORD_FILE='/run/secret/mysql_root_password' \
    -e MYSQL_PASSWORD_FILE='/run/secrets/mysql_password' \
    -e MYSQL_USER='wordpress' \
    -e MYSQL_DATABASE='wordpress' \
    mysql:latest
如果没有在target中显式指定路径,secret默认会通过tmpfs文件系统挂载到容器的/run/secrets目录中

创建redis服务

docker service create \
    --name redis \
    # --config source=redis.conf, target=/etc/redis.conf \
    --config redis.conf \
    -p 6379:6380 \
    redis:latest \
    redis-server /redis.conf

你可能感兴趣的:(linux,docker)