Docker的日常使用,常用命令,mysql,redis,elasticsearch,rabbitmq快速部署(个人笔记)

一、 docker的介绍

  • Linux系统上安装docker
  • 一个镜像可以映射出多个容器
  • 快速部署应用环境
  • docker 一次编写到处运行
  • 快速可移植性

二、常用命令

1. 重启docker服务

第一种方法

sudo service docker restart  

第二种方法

systemctl restart docker   

2. 设置开机启动容器

创建时指定 --restart=always,可以使容器随docker服务启动时启动。

sudo docker run --restart=always 123   

说明:123是容器id

3. 一键启动docker所有容器

docker start $(docker ps -a -q) 

说明:

  • -a表示所有
  • -q为仅仅显示端口

4. 停止容器

停止一个容器

docker kill id  

停止所有容器

docker stop $(docker ps -a -q)

5. 删除容器(需要先停止)

删除一个容器,{}表示里面的内容需要更改

docker container rm {name}

删除所有容器

docker rm $(docker ps -a -q)

6. 删除rabbitmq镜像

docker rmi rabbitmq

7. 以命令行交互容器

docker exec -it mysql /bin/bash

说明:

  • mysql是容器名,也可以是容器id

8. 查看容器运行日志

docker logs es

说明:es是容器名,也可以用容器id

9. docker下载镜像

docker pull mysql:latest

说明:mysql是你需要的镜像名,latest表示默认版本

10. docker 运行镜像,生成容器

docker run mysql:latest

说明:mysql是你需要的镜像名,latest表示默认版本

11、唤醒容器

docker start name

12、挂起容器

docker stop name

三、下载常用容器

  1. 下载mysql
docker pull mysql
docker pull mysql:5.6.46
  1. 下载redis
docker pull redis
  1. 下载elasticsearch
docker pull elasticsearch:7.6.2
  1. 下载rabbitmq
docker pull rabbitmq:management

四、部署常用镜像

1. 运行mysql

docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1111 mysql:latest

说明:

  • -d 表示后台运行
  • -p 表示端口
  • –name 表示容器名
  • -e 表示参数
  • mysql:latest 表示镜像名,也可使用镜像id

2. 运行redis

  • 运行这个需要准备一个预备工作,在/data/redis文件夹下放入一个redis.conf文件(这个文件去官方下载)。
sudo docker run -p 6379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf  -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

3. 运行elasticsearch

docker run -p 9200:9200 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -p 9300:9300 -d -e "discovery.type=single-node" --name es762 elasticsearch:7.6.2

4.运行rabbitmq

docker run -d --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management

说明:

  • 命令中的【RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin】是web管理平台的用户名和密码
  • 默认账号:guest,密码为:guest
  • 【 -p 15672:15672】 是控制平台docker映射到系统的对应端
  • 【 -p 5672:5672】 是应用程序的访问端口

5.运行minio

docker run -p 9000:9000 -p 9001:9001 --name minio \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=11111111" \
-v /mydata/minio/data:/data \
-v /mydata/minio/config:/root/.minio \
-d minio/minio server /data --console-address ":9001"
  • 访问地址为 http://公网ip:9001/login
  • 需要注意的是如果设置的密码低于8位会报错,报错信息通过 docker logs minio 可以查看
  • 上面9001是web管理地址,9000是API地址

五、其他

5.1、linux上将当前登录用户加入到docker用户组中

//将当前登录用户加入到docker用户组中
sudo gpasswd -a $USER docker
//更新用户组
newgrp docker

5.2 docker以命令行交互容器mysql的扩展资料

docker exec -it mysql /bin/bash
//命令行登录 
mysql -u root -p 1111 
//查询账号密码
select host,user,authentication_string from mysql.user; 
//切换数据库到mysql
use mysql 

5.3 运行elasticsearch容易出现的一些错误

因为elasticsearch特别废内存,所以往往没有给它足够的空间,它特别容易被强行关闭。

vi config/elasticsearch.yml  //编写配置文件,下面写入这些
xpack.ml.enabled: false
http.cors.enabled: true 	//跨域访问
http.cors.allow-origin: "*"

提高运行内存大小

sysctl -w vm.max_map_count=262144		//重启失效,一时使用

//永久解决方式
vi /etc/sysctl.conf   
//写入  
vm.max_map_count=262144 
// 查看当前值
sysctl -a|grep vm.max_map_count 

5.4 运行rabbitmq如果报错

  1. 可以试着把对账号密码的设置给删了,使用默认的账号密码
  2. 账号密码输入错误,出现下面这个界面
    在这里插入图片描述

5.5 docker镜像发布的步骤

  1. 编写一个dockerfile文件
  2. docker build 构建成为一个镜像
  3. docker run 镜像
  4. docker push 镜像(发布镜像到DockerHub、阿里云镜像仓库)

5.6 docker 容器自动退出的问题

  • docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退
  • 容器运行的命令如果不是那些一直挂起的命令( 运行top,tail、循环等),就是会自动退出这个是 docker 的机制问题

5.7 redis运行前的预备工作,导入配置文件

sudo mkdir /data
sudo mkdir /data/redis
sudo mkdir /data/redis/data

需要改的这几行都在比较前面的位置,大致在文件的60~80行。
在这里插入图片描述

5.8 docker 拉取的镜像的时候,可能会让你选择出现下面这个界面,一般选取第三个即可

quiet msg.
? Please select an image: 
  ▸ registry.access.redhat.com/rabbitmq:management
    registry.redhat.io/rabbitmq:management
    docker.io/library/rabbitmq:management

在这里插入图片描述

参考文档:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值