【docker】SWARM+docker-compose 多服务管理

1.配置规划 

管理:mysql+nginx+tomcat 

docker-compose文件准备 
--需要注意缩进关系
cd /data/
cat > docker-compose1.yml << EOF
EOF

2.通过这个yml 文件部署服务。

docker stack deploy -c docker-compose1.yml myapp

[root@es1 data]# docker stackfz deploy -c docker-compose1.yml myapp
Creating network myapp_default
Creating service myapp_tomcat
Creating service myapp_nginx
Creating service myapp_mysql

3.查看创建的服务



[root@es1 data]# docker service ls
ID             NAME           MODE         REPLICAS   IMAGE                                          PORTS
nrl00640u1bs   myapp_mysql    replicated   1/1        192.168.1.11:443/myharbor/mysql:5.7.21         *:33306->3306/tcp
q1cz0emg9he7   myapp_nginx    replicated   3/3        192.168.1.11:443/myharbor/nginx:latest         *:8880->80/tcp
uvu0uvkegsz5   myapp_tomcat   replicated   3/3        192.168.1.11:443/myharbor/tomcat:10.0.0-jdk8   *:8080->8080/tcp
p8dltoenq5rc   mynginx5       replicated   3/3        192.168.1.11:443/myharbor/nginx:latest         *:8014->80/tcp
[root@es1 data]# docker service ps myapp_mysql
ID             NAME            IMAGE                                    NODE      DESIRED STATE   CURRENT STATE            ERROR     PORTS
o8vhvv96sow7   myapp_mysql.1   192.168.1.11:443/myharbor/mysql:5.7.21   es2       Running         Running 53 seconds ago             
[root@es1 data]# docker service ps myapp_tomcat
ID             NAME             IMAGE                                          NODE      DESIRED STATE   CURRENT STATE                ERROR     PORTS
ueiaqyakfpf8   myapp_tomcat.1   192.168.1.11:443/myharbor/tomcat:10.0.0-jdk8   es3       Running         Running about a minute ago             
tm5brno15x92   myapp_tomcat.2   192.168.1.11:443/myharbor/tomcat:10.0.0-jdk8   es2       Running         Running about a minute ago             
t73rn5dhioce   myapp_tomcat.3   192.168.1.11:443/myharbor/tomcat:10.0.0-jdk8   es1       Running         Running about a minute ago             
[root@es1 data]# docker service ps myapp_nginx
ID             NAME            IMAGE                                    NODE      DESIRED STATE   CURRENT STATE                ERROR     PORTS
hvxobtzzmpmb   myapp_nginx.1   192.168.1.11:443/myharbor/nginx:latest   es1       Running         Running about a minute ago             
aqlpc7bkds9r   myapp_nginx.2   192.168.1.11:443/myharbor/nginx:latest   es3       Running         Running about a minute ago             
lb2i8z14ev1w   myapp_nginx.3   192.168.1.11:443/myharbor/nginx:latest   es2       Running         Running about a minute ago 

4.访问服务

--访问Mysql;
[root@es1 data]# mysql -uroot -prootroot -P33306 -h192.168.1.7
Logging to file '/data/mysql/logs/query.log'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
"root@192.168.1.7 Fri Jul  5 09:44:59 2024 09:44:59 [(none)]">show databases; 
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.01 sec)
"root@192.168.1.7 Fri Jul  5 09:45:04 2024 09:45:04 [(none)]">create database mydb1; 
Query OK, 1 row affected (0.00 sec)
"root@192.168.1.7 Fri Jul  5 09:45:15 2024 09:45:15 [(none)]">use mydb1; 
Database changed
"root@192.168.1.7 Fri Jul  5 09:45:18 2024 09:45:18 [mydb1]">create table my_tab1(id int,name varchar(20));
Query OK, 0 rows affected (0.01 sec)
"root@192.168.1.7 Fri Jul  5 09:45:37 2024 09:45:37 [mydb1]">insert into my_tab1 values(1,'xsq1'),(2,'xsq2'),(3,'xsq3');
Query OK, 3 rows affected (0.11 sec)
Records: 3  Duplicates: 0  Warnings: 0
"root@192.168.1.7 Fri Jul  5 09:46:03 2024 09:46:03 [mydb1]">select * from my_tab1;
+------+------+
| id   | name |
+------+------+
|    1 | xsq1 |
|    2 | xsq2 |
|    3 | xsq3 |
+------+------+
3 rows in set (0.00 sec)


--容器启动时需要有一个命令,否则不能启动。
docker service create --network myapp_default --name linuxtools \
--replicas 2 192.168.1.11:443/myharbor/busybox:1.28.3 ping 192.168.1.1

--创建一个busybox服务 
[root@es1 data]# docker service create --network myapp_default --name linuxtools \
> --replicas 2 192.168.1.11:443/myharbor/busybox:1.28.3 ping 192.168.1.1
3j14o6szt1a8erxm1t0jhhg8d
overall progress: 2 out of 2 tasks 
1/2: running   
2/2: running   
verify: Service converged 


[root@es1 data]# docker service ps linuxtools
ID             NAME           IMAGE                                      NODE      DESIRED STATE   CURRENT STATE            ERROR     PORTS
za049gh52ndh   linuxtools.1   192.168.1.11:443/myharbor/busybox:1.28.3   es3       Running         Running 34 seconds ago             
xh1c3lbbo2e8   linuxtools.2   192.168.1.11:443/myharbor/busybox:1.28.3   es1       Running         Running 35 seconds ago 

[root@es1 data]# docker ps
CONTAINER ID   IMAGE                                          COMMAND                  CREATED          STATUS          PORTS      NAMES
56ebe820dc4a   192.168.1.11:443/myharbor/busybox:1.28.3       "ping 192.168.1.1"       2 minutes ago    Up 2 minutes               linuxtools.2.xh1c3lbbo2e8029ic4zftaats
a227ddb8107c   192.168.1.11:443/myharbor/tomcat:10.0.0-jdk8   "catalina.sh run"        17 minutes ago   Up 17 minutes   8080/tcp   myapp_tomcat.3.t73rn5dhioce428mqh1tza9s3
1fd581b7711d   192.168.1.11:443/myharbor/nginx:latest         "/docker-entrypoint.…"   17 minutes ago   Up 17 minutes   80/tcp     myapp_nginx.1.hvxobtzzmpmbbtxeaeqpp8yps

[root@es1 data]# docker exec -it linuxtools.2.xh1c3lbbo2e8029ic4zftaats nslookup myapp_mysql
Server:    127.0.0.11
Address 1: 127.0.0.11
Name:      myapp_mysql
Address 1: 10.0.1.13

[root@es1 data]# docker exec -it linuxtools.2.xh1c3lbbo2e8029ic4zftaats ping www.baidu.com
PING www.baidu.com (183.2.172.185): 56 data bytes
64 bytes from 183.2.172.185: seq=0 ttl=52 time=35.330 ms
64 bytes from 183.2.172.185: seq=1 ttl=52 time=35.429 ms
64 bytes from 183.2.172.185: seq=2 ttl=52 time=35.927 ms
64 bytes from 183.2.172.185: seq=3 ttl=52 time=36.417 ms
^C
--- www.baidu.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 35.330/35.775/36.417 ms

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值