底层实现
命令列表 基于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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。