Docker 基本命令

重启 Docker

1
systemctl restart docker

停止容器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 停止一个已经在运行的容器
docker container stop 容器名或容器 id

# 启动一个已经停止的容器
docker container start 容器名或容器 id

# kill 掉一个已经在运行的容器
docker container kill 容器名
# 停止一个已经在运行的容器
docker stop CONTAONER ID (容器 ID)

# 启动一个已经停止的容器
docker start CONTAONER ID(容器 ID)

# kill 掉一个已经在运行的容器
docker kill CONTAONER ID(容器 ID)

查看 Docker 所有镜像

1
docker images

查看启动的服务

1
docker ps

异常解决

如果出现 Error response from daemon: Conflict. The container name "XXX" is already in use by container 的情况,请使用以下方式解决

  • 查看 Docker 所有容器
1
2
docker ps -a
docker ps -l
  • 删除容器

    1
    docker rm ID
  • 删除镜像

    1
    docker rmi ID

使用 Docker 安装 Redis

查询 redis 镜像

1
docker search redis

拉取官方的镜像

1
docker pull redis

查看是否成功

1
docker images

启动 redis

1
2
3
4
5
6
// 启动
docker run -p 6379:6379 -d redis:latest redis-server
// 开机自启
docker run -dit --restart unless-stopped -p 6379:6379 -d redis:latest redis-server
// 开机自启并设置密码
docker run -dit --restart unless-stopped -p 6379:6379 -d redis:latest redis-server --requirepass "mesmes"

查看启动容器

1
docker ps

使用 Docker 安装 MongoDB

查询 MongoDB 镜像

1
docker search mongo

拉取官方的镜像

1
docker pull mongo

查看是否成功

1
docker images

MongoDB 容器创建方法和数据目录挂载

1
2
3
4
5
// 启动
docker run -p 27017:27017 -v /usr/local/webserver/mongodb/db:/data/db -d mongo

// 开机自启
docker run -dit --restart unless-stopped -p 27017:27017 -v /usr/local/webserver/mongodb/db:/data/db -d mongo

连接 MongoDB

1
2
$ docker ps
$ docker exec -it a7e5d4e4ca69 mongo

导出数据

在 Linux 中导出数据,由于 MongoDB 是由 docker 部署的,所以导出的文件,会在 Docker 的目录。

可通过 find / -name 'test.json' 查找文件

1
2
3
docker exec -it 0b2f34916ead mongoexport --host 192.168.3.220:27017 -d mes -c engineLogDO 
-q '{"tenantId":"10", "createTime":{"$gt": {"$date": "2019-08-01T00:00:00Z"}, "$lt": {"$date": "2019-08-30T23:59:59Z"}}}' -o
/usr/local/webserver/server/mesCloud/upload/logFolder/archiveLog/test.json --jsonArray

客户端下载

RoboMongoDB 官网

使用 Docker 安装 RabbitMQ

方法一

查找镜像

打开 镜像仓库 ,搜索rabbitmq。选择带有 web 管理界面的后缀为management 的版本。

拉取镜像

1
docker pull 3.8.2-rc.1-management

查看镜像

1
docker images

启动

1
2
3
4
5
6
7
8
docker run -dit --restart unless-stopped -d 
--name rabbitmq3.8.2 -p 5672:5672 -p 15672:15672
-v `pwd`/data:/var/lib/rabbitmq
--hostname dev
-e RABBITMQ_DEFAULT_VHOST=v_dev
-e RABBITMQ_DEFAULT_USER=mes_dev
-e RABBITMQ_DEFAULT_PASS=mes_dev
rabbitmq:3.8.2-rc.1-management

命令解释

1
2
3
4
5
6
7
8
9
10
11
12
-d 运行容器
--name 容器名

// 5672:应用访问端口;15672:控制台 Web 端口
-p 服务运行的端口
-v 映射目录或文件
--hostname 主机名

// RABBITMQ_DEFAULT_VHOST:默认虚拟机名
// RABBITMQ_DEFAULT_USER:默认的用户名
// RABBITMQ_DEFAULT_PASS:默认用户名的密码
-e 指定环境变量

开机自启

1
docker run -dit --restart unless-stopped -d --name rabbitmq3.8.2 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname dev -e RABBITMQ_DEFAULT_VHOST=v_dev -e RABBITMQ_DEFAULT_USER=mes_dev -e RABBITMQ_DEFAULT_PASS=mes_dev rabbitmq:3.8.2-rc.1-management

yml 使用

1
2
3
4
5
6
7
rabbitmq:
host: 192.168.3.220
port: 5672
username: mes_dev
password: mes_dev
publisher-confirms: true
virtual-host: v_dev

WEB 控制面板

1
http://192.168.3.220:15672

方法二

1
2
3
4
5
docker search rabbitMq

docker pull rabbitmq:3.8-rc-management

docker run -dit --restart unless-stopped -d --name rabbitmq3.8 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname dev -e RABBITMQ_DEFAULT_VHOST=dev -e RABBITMQ_DEFAULT_USER=mes_dev -e RABBITMQ_DEFAULT_PASS=mes_dev rabbitmq:3.8-rc-management

方法三

1
2
docker search rabbitmq:management
docker pull rabbitmq:management
1
docker run -dit --restart unless-stopped -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname dev -e RABBITMQ_DEFAULT_VHOST=/dev -e RABBITMQ_DEFAULT_USER=mes_dev -e RABBITMQ_DEFAULT_PASS=mes_dev rabbitmq:management

使用 Docker 安装 ZooKeeper

查询 ZooKeeper 镜像

1
docker search ZooKeeper

拉取官方的镜像

1
docker pull ZooKeeper

查看是否成功

1
docker images

ZooKeeper 容器创建方法

1
2
3
4
5
// 启动
docker run --name zookeeper -d zookeeper:latest

// 开机自启
docker run -dit --restart unless-stopped --name zookeeper -d -p 2181:2181 zookeeper:latest

验证是否启动成功

1
docker logs -f zookeeper

出现以下信息,则说明启动成功

1
2
3
4
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
...
2016-09-14 06:40:03,445 [myid:] - INFO [main:NIOServerCnxnFactory@89] - binding to port 0.0.0.0/0.0.0.0:2181

使用 Docker 安装 Zipkin

使用 Docker 部署 zipkin 镜像

1
docker pull openzipkin/zipkin

启动 zipkin

1
2
3
4
5
// 启动
docker run -d -p 9411:9411 openzipkin/zipkin

// 开机自启
docker run -dit --restart unless-stopped -d -p 9411:9411 openzipkin/zipkin