java微服务开发(基础环境篇)

我们的目标是~~_浩瀚的宇宙 _~~全栈开发 俗话说的好 _工欲善其事 必先利其器 _对于一个开发者来说 一个好的开发环境可以带来的收益是巨大的 本篇的重点主要是linux上一的一些环境的安装 主要是docker

本篇涉及到的是一些开发时候使用到的环境包括Windows环境和Linux环境

Windows环境

我的日常开发环境就是Windows 虽然大伙都推荐程序员使用mac 但是没办法 _咱们也没有闲钱啊 _

Windows版本建议使用Windows10或者Windows7 推荐:Windows10 下载安装地址:链接 内存: 推荐内存16G不会现在还有人用4g内存的Windows10开发微服务吧 不会吧 不会吧

基础环境配置

基础环境没啥好说的 jdk你的会安装配置吧 不管是Windows还是Linux git的基本使用你得会用吧 现在都是spring boot项目了 maven要会使吧,到处copy jar包到resources spring的几个jar不兼容 maven都可以解决这些难题

Windows基础环境配置主要是jdk,git,maven

jdk

jdk可是Java程序员的命根子了 入门和他打交道 到达架构师级别 也要和他打交道 面试会问jvm 工作要依赖他跑项目 我愿称之为java程序员的一生之敌

jdk是开发Java必备的环境 推荐为jdk1.8及其以上 下载地址:Oracle官网地址:链接 我分享的百度云网盘地址:链接   提取码:9fkc

下载后默认安装

配置环境变量: 百度 不会还有人觉得我会在这里详细写安装jdk和配置环境变量吧

git

git也是工作中常用的工具了,不管你的项目是大还是小 我都建议使用git来管理 并且找一个稳定的git仓库来保存比如国外的github 国内的gitee 也可以自建gitlab 或者gogs

GIT(分布式版本控制系统) 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 下载地址: 链接

下载后默认安装

maven

maven啊 通俗一点就是一个管理jar包的工具 让你可以不用手动的去copy jar 管理各个版本的jar包 比如spring4下.的jar 和spring5.x的jar肯定是有兼容问题的 可以通过maven方便的管理 只要给出jar的坐标就可以了

maven是现在主流的项目构建工具,但是目前spring正在淡化maven 转而推荐gradle Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件 maven官网地址: 链接

下载地址: 链接配置: 链接配置maven的中央仓库地址编辑maven_home/config/settings.xml找到  在最后添加如下xml代码

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
     </mirror>

配置localRepository (本地仓库存放地址 即为存放jar包和坐标的地址)编辑maven_home/config/settings.xml找到settings在下面添加如下代码 (这里的E:\repo为E盘下的repo文件夹 如果没有 请提前创建 可替换成自己的文件夹)

<localRepository>E:\repo</localRepository>
验证maven安装
C:\Users\Administrator>mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: D:\maven-3.6.3\bin\..
Java version: 11.0.2, vendor: Oracle Corporation, runtime: D:\jdk
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

开发工具配置

开发工具为日常开发中我使用到的一些开发工具

IDEA

IDEA 和 eclipse都是比较常用的java开发ide 在我刚学习的时候我就使用的是eclipse 在后来的某一次使用过IDEA后就很少打开eclipse了

IDEA是我推荐使用的Java开发的IDE也是我正在使用的主力IDE 官网地址: 链接 下载地址: 链接 如何激活 以及其他快捷配置 请问百度: 链接

下载后默认安装配置IDEA 主要配置maven打开-File-Settings

![]([object Object]&originHeight=575&originWidth=1025&size=0&status=done&style=none&width=1025)

Visual Studio Code

vs code是微软出的一个ide 目前我也就使用它开发过前端 开发Java我觉得还是idea好

vs code是一个基本上还算是全能的ide了 但是我还是觉得用来开发前端 html vue比较方便 visual studio code官网: 链接

下载地址: 链接配置vs code

主要在扩展中启用如下扩展

![image.png]([object Object]&name=image.png&originHeight=524&originWidth=392&size=57244&status=done&style=none&width=392)

XShell

xshell是目前主流的ssh链接工具 (主要是Free for Home xshell中一个窗口不能超过4个链接Xftp中不能超过2个) 官网: 链接

下载地址: 链接下载完成后默认安装

Navicat Premium 12

Navicat Premium 12是一款数据库可视化工具 可以用于管理mysql,postgre,oracle,sqlite,sqlserver,mariadb,mongondb链接 官网: 链接

下载地址: 链接下载完成后解压默认安装

PDMan

PDMan是一款开源免费的数据库模型建模工具,支持Windows,Mac,Linux等操作系统,是PowerDesigner之外,更好的免费的替代方案。他具有颜值高,使用简单的特点。包含数据库建模,灵活自动的自动生成代码模板,自动生成文档等多种开发人员实用的功能。

下载地址: 链接下载完成后默认安装

AnotherRedisDesktopManager

Redis桌面管理器 - 是一个用于Windows,Linux和MacOS的快速开源Redis数据库管理应用程序。

官网地址: 链接下载地址: 链接下载完成后默认安装

Postman

Postman是一款功能强大的网页调试与发送网页HTTP请求的软件

官网地址: 链接下载地址: 链接下载完成后解压默认安装


Linux环境

作为一个开发人员 肯定要对Linux环境比较熟悉才行 其实Linux对于开发人员来说 说要掌握的命令并不是很多 日常的命令+一些中间件的操作命令一般就够了

Linux环境对Linux的发行版本没有具体要求 只要不是太老的一般都可以 后面的中间件都是运行在docker上面 Linux的发行版本太多了 我这里推荐 Centos7+ Ubuntu16+ 我使用的是centos7.7

基础环境配置

本次演示使用centos7作为演示 centos7下载地址: 链接

安装Linux

下载上面提供的镜像 在VMware里的前置安装请百度: 地址 建议cpu: 4核 内存: 8G

启动虚拟机后选择install centos 7![image.png]([object Object]&name=image.png&originHeight=573&originWidth=821&size=34064&status=done&style=none&width=821)语言直接默认 点击continue![image.png]([object Object]&name=image.png&originHeight=583&originWidth=801&size=126793&status=done&style=none&width=801)

配置网络

等待一会后点击NETWORK & HOSTNAME![image.png]([object Object]&name=image.png&originHeight=608&originWidth=830&size=145069&status=done&style=none&width=830)按下图修改![image.png]([object Object]&name=image.png&originHeight=619&originWidth=855&size=92384&status=done&style=none&width=855)

配置安装位置

点击INSTALLATION DESTINATION![image.png]([object Object]&name=image.png&originHeight=610&originWidth=825&size=145273&status=done&style=none&width=825)选中硬盘 然后点击Done![image.png]([object Object]&name=image.png&originHeight=638&originWidth=856&size=117034&status=done&style=none&width=856)

开始安装

点击Begin Installation![image.png]([object Object]&name=image.png&originHeight=605&originWidth=830&size=139739&status=done&style=none&width=830)

配置root账号的密码

点击 ROOT PASSWORD![image.png]([object Object]&name=image.png&originHeight=590&originWidth=802&size=157101&status=done&style=none&width=802)输入root密码 两次一致 点击Done 一次不行就两次(实际上是密码太短 点击两次确认使用弱密码)![image.png]([object Object]&name=image.png&originHeight=642&originWidth=858&size=65433&status=done&style=none&width=858)等待一段时间 点击reboot![image.png]([object Object]&name=image.png&originHeight=581&originWidth=824&size=92145&status=done&style=none&width=824)

重启完成后登录

用户名:root 密码:你设置的密码

![image.png]([object Object]&name=image.png&originHeight=196&originWidth=317&size=3329&status=done&style=none&width=317)

验证安装

登录完成后 使用 ip addr 查看你的IP地址

![image.png]([object Object]&name=image.png&originHeight=190&originWidth=705&size=14589&status=done&style=none&width=705)至此 centos的基本安装完毕

配置Linux

XShell登录

使用上节记录查看到的ip地址用XShell登录

![image.png]([object Object]&name=image.png&originHeight=124&originWidth=477&size=11087&status=done&style=none&width=477)

更新

首先先更新一下centos的依赖

yum update -y

安装vim

这个centos是最小安装的镜像 默认没有安装vim文本编辑 等待上面更新的命令执行完毕后 执行以下命令

yum install vim -y
关闭防火墙

因为是开发环境的配置 为了方便我们开发 所以先关闭掉centos的防火墙

systemctl stop firewalld  
systemctl disable firewalld

附: centos防火墙基本使用

启动: systemctl start firewalld  
关闭: systemctl stop firewalld  
查看状态: systemctl status firewalld   
开机禁用: systemctl disable firewalld  
开机启用: systemctl enable firewalld

至此 centos的基本配置完毕

Docker安装

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 docker是现在非常火热的容器化平台

基于centos7.7安装docker

卸载旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

使用yum 安装依赖

sudo yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2

添加依赖

sudo yum-config-manager \
    --add-repo \
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

安装docker ce

sudo yum makecache fast
sudo yum install docker-ce -y

启动docker

sudo systemctl enable docker
sudo systemctl start docker

测试 Docker 是否安装正确

docker run hello-world

### 配置docker的镜像加速 ```shell sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://uz6p4blc.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker ``` ### 验证docker镜像加速 > 使用docker info命令

[root@centos ~]# docker info
Client:
 Debug Mode: false

Server:
 Containers: 7
  Running: 6
  Paused: 0
  Stopped: 1
 Images: 7
 Server Version: 19.03.12
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-862.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 7.545GiB
 Name: centos
 ID: 3QOG:3RWM:H72U:QIRL:NBYC:4ZHN:AAUA:AWZI:PWSE:3VTY:TPL3:KZTY
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https:///v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://uz6p4blc.mirror.aliyuncs.com/
 Live Restore Enabled: false

[root@centos ~]#

看到Registry Mirrors是你刚刚配置的即为配置成功

docker-compose安装

docker-compose是docker三剑客的其中一个 docker-compose可以大量简化我们得Linux命令 只用一个yml文件就可以实现对docker容器得编排可以说非常方便了 而且以后的k8s里也运用到了大量的yml 这里可以提前熟悉一下这些语法

Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动

curl -L https:///docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
验证docker-compose是否安装正确
[root@centos ~]# docker-compose -v
docker-compose version 1.25.4, build 8d51620a

开发环境配置

完成docker的以及docker-compose的安装以后 开始陆续进行一些基础中间件的安装 在下面都使用docker-compose进行安装

安装MySQL

mysql可以说是最常用的关系型数据库之一了

# 在/root/新建一个mysql文件夹
mkdir msqyl
cd mysql
# 新建一个mysql.yml的文件
vim mysql.yml
# 按键盘上的i进入插入模式

粘贴下面的任意一个yml配置文件到mysql.yml然后按esc 输入 :wqMySQL 5.7

version: '3.1'
services:
  mysql:
    restart: always
    image: mysql:5.7.22
    container_name: mysql
    ports:
      - 3306:3306
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123456
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M
      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    volumes:
      - mysql-data:/var/lib/mysql

volumes:
  mysql-data:

MySQL 8.x

version: '3.1'
services:
  db:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
    ports:
      - 3306:3306
    volumes:
      - ./data:/var/lib/mysql

完成后执行

docker-compose -f mysql.yml up -d

等待启动

验证msyql的运行
输入docker ps
[root@centos mysql]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
31b2d245e8e3        adminer             " docke…"   16 seconds ago      Up 15 seconds       0.0.0.0:8080->8080/tcp              mysql_adminer_1
f82b2c585931        mysql               "docker-entrypoint.s…"   16 seconds ago      Up 15 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql_db_1

使用Navicat Premium 12链接msyql 输入连接名 你的主机地址 用户名:root 密码: 123456 显示链接成功即可

![image.png]([object Object]&name=image.png&originHeight=658&originWidth=551&size=46183&status=done&style=none&width=551)

安装redis

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助 redis是目前最火热的非关系行数据库 key-value类型的数据库

# 在/root/新建一个redis文件夹
mkdir redis
cd redis
# 新建一个redis.yml的文件
vim redis.yml
# 按键盘上的i进入插入模式

粘贴下面的yml配置文件到redis.yml然后按esc 输入 :wq

version: '3.1'
services:
  master:
    image: redis
    container_name: redis-master
    ports:
      - 6379:6379

完成后执行

docker-compose -f redis.yml up -d

等待启动

验证redis的运行
输入docker ps
[root@centos redis]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
5eeb447fc8dc        redis               "docker-entrypoint.s…"   35 seconds ago      Up 34 seconds       0.0.0.0:6379->6379/tcp              redis-master
31b2d245e8e3        adminer             " docke…"   6 minutes ago       Up 6 minutes        0.0.0.0:8080->8080/tcp              mysql_adminer_1
f82b2c585931        mysql               "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql_db_1

使用RedisDesktopManager链接redis

点击链接到redis 输入名字 地址后 点击测试链接 显示链接redis服务器成功即可

![image.png]([object Object]&name=image.png&originHeight=862&originWidth=600&size=94734&status=done&style=none&width=600)

安装rabbitmq

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。 rabbitmq是目前我经常使用的一块消息队列中间件

# 在/root/新建一个rabbitmq文件夹
mkdir rabbitmq
cd rabbitmq
# 新建一个rabbitmq.yml的文件
vim rabbitmq.yml
# 按键盘上的i进入插入模式

粘贴下面的yml配置文件到redis.yml然后按esc 输入 :wq

version: '3.1'
services:
  rabbitmq:
    restart: always
    image: rabbitmq:management
    container_name: rabbitmq
    ports:
      - 5672:5672
      - 15672:15672
    environment:
      TZ: Asia/Shanghai
      RABBITMQ_DEFAULT_USER: rabbit
      RABBITMQ_DEFAULT_PASS: 123456
    volumes:
      - ./data:/var/lib/rabbitmq

完成后执行

docker-compose -f rabbitmq.yml up -d

等待启动

验证rabbitmq的运行
[root@centos rabbitmq]# docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                                                                        NAMES
f422789ff3f1        rabbitmq:management   "docker-entrypoint.s…"   5 minutes ago       Up 5 minutes        4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp   rabbitmq
5eeb447fc8dc        redis                 "docker-entrypoint.s…"   31 minutes ago      Up 31 minutes       0.0.0.0:6379->6379/tcp                                                                       redis-master
31b2d245e8e3        adminer               " docke…"   36 minutes ago      Up 36 minutes       0.0.0.0:8080->8080/tcp                                                                       mysql_adminer_1
f82b2c585931        mysql                 "docker-entrypoint.s…"   36 minutes ago      Up 36 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp                                                            mysql_db_1

浏览器上输入ip:15672

用户名: rabbit 密码: 123456

![image.png]([object Object]&name=image.png&originHeight=200&originWidth=306&size=8738&status=done&style=none&width=306)![image.png]([object Object]&name=image.png&originHeight=415&originWidth=559&size=28523&status=done&style=none&width=559)

安装elk日志收集

ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。市面上也被成为Elastic Stack。其中Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。像类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用Elasticsearch作为底层支持框架,可见Elasticsearch提供的搜索能力确实强大,市面上很多时候我们简称Elasticsearch为es。Logstash是ELK的中央数据流引擎,用于从不同目标(文件/数据存储/MQ)收集的不同格式数据,经过过滤后支持输出到不同目的地(文件/MQ/redis/elasticsearch/kafka等)。Kibana可以将elasticsearch的数据通过友好的页面展示出来,提供实时分析的功能。

# 在/root/新建一个elk文件夹
mkdir elk
cd elk
# 新建一个elk.yml的文件
vim elk.yml
# 按键盘上的i进入插入模式

复制如下内容到elk.yml

elk.yml
version: "3"
services: 
  elasticsearch:
    image: /yalong_lee_release/elasticsearch:v7.4.1
    ports:
      - "9200:9200" 
      - "9300:9300"
    restart: "always" 
    container_name: elasticsearch 
    hostname: elasticsearch
    environment:
      - "discovery.type=single-node"
      - "=EsForLog" 
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m" 
    volumes:
      - ./data:/usr/share/elasticsearch/data
  kibana: 
    image: /htsec/kibana:7.4.1 
    restart: "always" 
    container_name: kibana 
    hostname: kibana
    volumes:  
      - ./kibana.yml:/usr/share/kibana/config/kibana.yml
    links:
      - elasticsearch:es01  
    depends_on:
      - elasticsearch 
    ports:
      - "5601:5601" 
  logstash: 
    image: /logss/logstash:7.4.1  
    restart: "always" 
    container_name: logstash 
    hostname: logstash
    volumes:
      - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf 
    links:
      - elasticsearch:es01 
    depends_on:
      - elasticsearch
    ports:
      - "5044:5044"

在elk目录下创建一个data 并且给与权限

mkdir data
chmod 777 data

在elk下创建kibana配置文件

vim kibana.yml

复制如下内容到kibana.ymlkibana.yml

elasticsearch.hosts: http://es01:9200
server.host: "0.0.0.0"
: kibana
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN

在elk下创建logstash配置文件

vim logstash.conf

复制如下内容到logstash.conflogstash.conf

input {
	tcp {
		mode => "server"
		host => "0.0.0.0"
        port => 5044
        codec => json_lines
    }
}
output {
	elasticsearch {
		hosts => ["http://es01:9200"]
		index => "%{[appname]}-%{+YYYY.MM.dd}"
	}
	stdout {
		codec => rubydebug
	}
}

完善上述操作后执行

docker-compose -f elk.yml up -d

等待elk的运行

[root@centos elk]# docker ps
CONTAINER ID        IMAGE                                                                       COMMAND                  CREATED             STATUS              PORTS                                                                                        NAMES
eb6edbb49907        /htsec/kibana:7.4.1                        "/usr/local/bin/dumb…"   21 minutes ago      Up 14 minutes       0.0.0.0:5601->5601/tcp                                                                       kibana
c99c65029eb8        /logss/logstash:7.4.1                      "/usr/local/bin/dock…"   21 minutes ago      Up 14 minutes       0.0.0.0:5044->5044/tcp, 9600/tcp                                                             logstash
346cfcaf5f89        /yalong_lee_release/elasticsearch:v7.4.1   "/usr/local/bin/dock…"   21 minutes ago      Up 14 minutes       0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp                                               elasticsearch
f422789ff3f1        rabbitmq:management                                                         "docker-entrypoint.s…"   50 minutes ago      Up 50 minutes       4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp   rabbitmq
5eeb447fc8dc        redis                                                                       "docker-entrypoint.s…"   About an hour ago   Up About an hour    0.0.0.0:6379->6379/tcp                                                                       redis-master
31b2d245e8e3        adminer                                                                     " docke…"   About an hour ago   Up About an hour    0.0.0.0:8080->8080/tcp                                                                       mysql_adminer_1
f82b2c585931        mysql                                                                       "docker-entrypoint.s…"   About an hour ago   Up About an hour    0.0.0.0:3306->3306/tcp, 33060/tcp                                                            mysql_db_1
验证elk的运行

在浏览器输入ip:5601进入kibana的后台页面![image.png]([object Object]&name=image.png&originHeight=499&originWidth=1600&size=77837&status=done&style=none&width=1600)

附录: docker常用命令

### 查看运行容器
docker ps

### 查看所有容器
docker ps -a

## 进入容器
### 其中字符串为容器ID:
docker exec -it d27bd3008ad9 /bin/bash

### 停用全部运行中的容器:
docker stop $(docker ps -q)

### 删除全部容器:
docker rm $(docker ps -aq)

### 一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

### docker所有命令查看:
docker help