Docker实例
踏歌行 2023-02-04
工具
自动化
阅读量:
# Docker安装软件流程总结
- *搜索镜像
- *拉取镜像
- *查看镜像
- 启动镜像 服务端口映射 / 容器数据卷设置
- 停止容器
- *移除容器
# 查看docker容器
查看日志:
docker logs [OPTIONS] 容器名称
查看容器内部细节:
docker inspect 容器ID
查看容器内运行的进程:
docker top 容器ID
查看docker-compose日志:
docker-compose logs
查看内存 CPU等:
docker stats --no-stream
,不带--no-stream
是动态显示
# 实例:mySQL
docker hub说明 (opens new window)
- 启动镜像:
docker run \
-d \
-p 3306:3306 \
--privileged=true \
-v /mysql/log:/var/log/mysql \
-v /mysql/data:/var/lib/mysql \
-v /mysql/cof:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
--name=mysql1 \
mysql:5.7
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
- 修改配置文件 conf/my.cnf,以避免关于中文的报错
- 重启容器:
docker restart mysqlXXX
- 进入容器:
docker exec -it mysqlXXX /bin/bash
mysql -u root -p
输入密码
# mySQL主从复制docker版
- 新建主服务器容器实例3307
- 进入
/mydata/mysql-master/conf
目录下新建my.cnf - 修改完配置后重启master实例
- 进入mysql-master容器
- master容器实例内创建数据同步用户
- 新建从服务器容器实例3308
- 进入
/mydata/mysql-salve/conf
目录下新建my.cnf - 修改完配置后重启slave实例
- 在主数据库中查看主从同步状态
- 进入mysql-slave容器
- 在从数据库在配置主从复制
- 在从数据库中查看主从同步状态
- 在从数据库中开启主从同步
- 查看从数据库状态发现已经同步
- 主从复制测试
# 实例:轻量级可视化工具 Portainer
下载镜像和启动容器:
docker run -d -p 8000:8000 -p9000:9000 --name portainer1 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
- 优点:非常方便查看和控制容器,新建容器
- 缺点:只是实时监控,没有监控数据的存储
# 实例:通过Docker,在Linux中搭建 FTP 服务
- linux中通过docker启动
docker run -d \
-v /Ftpfile:/home/vsftpd \
-p 20:20 -p 21:21 -p 47400-47470:47400-47470 \
-e FTP_USER=<用户名> \
-e FTP_PASS=<密码> \
-e PASV_ADDRESS=<宿主机IP地址> \
--name myFTP \
--restart=always \
bogem/ftp
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
- 开放端口:20、21、47400-47470
- 验证:在windows电脑中文件管理器上输入 ftp://<宿主机IP地址>/
# 实例:ClamAV 病毒扫描
docker run -it --rm \
--mount type=bind,source=/path/to/scan,target=/scandir \
clamav/clamav:unstable \
clamscan /scandir
1
2
3
4
2
3
4
# 实例:iftop 检测流量
docker run --rm -it --net host --name iftop dholt/iftop
# 实例:iperf3 网速性能检测
docker run --name=iperf3 -d --restart=unless-stopped -p 5201:5201/tcp -p 5201:5201/udp mlabbe/iperf3 然后 docker logs iperf3 查看