查询docker 容器ip
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
docker ES
# 下载
docker pull elasticsearch:7.1.0
# 启动 ES
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.1.0
docker 相关指令
- # 启动docker
- sudo service docker start
- # 停止docker
- sudo service docker stop
- # 重启docker
- sudo service docker restart
- #安装 mysql
docker pull mysql:5.7.36 && docker run --name mysql5.7.36 --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.36 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
# 安装 MongDb
docker pull mongo:5.0.5 && docker run -d --name mongo5.0.5 --restart=always -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=mgDb -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo:5.0.5
# 安装 redis
docker pull redis:6.2.6-alpine && docker run --name redis6.2.6 -d redis:6.2.6-alpine
# 安装 nginx
docker pull nginx:1.20.2-alpine
# 安装 PostgreSQL
docker pull postgres:14.2-alpine && docker run --name postgres14.2 --restart=always -p 5432:5432 -e POSTGRES_PASSWORD=123456 -d postgres:14.2-alpine
#删除 docker images
1.停止所有的container,这样才能够删除其中的images:
docker stop 对应运行容器Id
如果想要删除所有container的话再加一个指令:$(docker ps -a -q)
docker rm 对应运行容器Id
2.查看当前有些什么images
docker images
3.删除images,通过image的id来指定删除谁
docker rmi 镜像Id
docker mysql
# 查看 mysql 名称
docker ps -a
# 进入mysql 容器
docker exec -it mysql5.7.36 bash
docker 常用命令
# 查看正在运行的容器
docker ps
# 查看所有容 包括停止的容器
docker ps -a
# -q参数,只显示container id
docker ps -q
# 查看容器详细信息
docker inspect demo1
docker 容器 命令
#新建并启动容器,参数:-i 以交互模式运行容器;-t 为容器重新分配一个伪输入终端;--name 为容器指定一个名称
docker run -i -t --name mycentos 镜像名称/镜像ID
#后台启动容器,参数:-d 已守护方式启动容器
docker run -d mycentos
#启动止容器
docker start 容器id
# 重启容器
docker restart 容器id
# 关闭容器
docker kill 容器id
docker stop 容器id
-t 参数让Docker分配一个伪终端并绑定到容器的标准输入上
-i 参数则让容器的标准输入保持打开。
-c 参数用于给运行的容器分配cpu的shares值
-m 参数用于限制为容器的内存信息,以 B、K、M、G 为单位
-v 参数用于挂载一个volume,可以用多个-v参数同时挂载多个volume
-p 参数用于将容器的端口暴露给宿主机端口 格式:host_port:container_port 或者 host_ip:host_port:container_port
--name 容器名称
--net 容器使用的网络
-d 创建一个后台运行容器
ubuntu 无法查看Ip问题
#命令
ifconfig
# 报错的话,未安装网卡 执行下语句
sudo apt install net-tools
docker mongoDb
docker exec -it 4d45e2ba6f9b mongo admin 错误
处理方式:
https://blog.csdn.net/weixin_47367099/article/details/127358487;
加user权限
db.createUser({ user: 'root', pwd: '123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
db.createUser({ user: 'test', pwd: '123456', roles: [ { role: "readWrite", db: "fk_demo" } ] });
docker kibana
#查找 IP
docker inspect elasticsearch | grep IPAddress
# 拉取kibana
docker pull kibana:7.1.0
# docker kibana 关联 es IP
docker run --name kibana -e ELASTICSEARCH_URL=http://172.17.0.3:9200 -p 5601:5601 -d kibana:7.1.0
#拉取代码
docker pull redis:6.2.6-alpine && docker run --name redis6.2.6 -d redis:6.2.6-alpine
# 初始化配置启动 redis
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/config/myredis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly no --requirepass fk123456
–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/home/redis/config/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/home/redis/data:/data 这个同上
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/config/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,我被搞过,可以看这篇文章“阿里云服务器中毒‘Kirito666’经历”)
nbuntu : 环境 使用
<span style="color:#000000"><span style="color:#000000">操作数据时,</span></span>
<span style="color:#000000"><span style="color:#000000">AUTH PASSWORD</span></span>
docker zk
# 拉取镜像
docker pull zookeeper
# 启动zk
docker run -d -p 2181:2181 --name zk --restart always zookeeper