Docker 简单示例

本文包含若干个通过 Docker 安装应用的示例。

一、安装 MySQL

1. 查找镜像

访问 Docker 的镜像库 https://hub.docker.com/_/mysql?tab=tags ,选择合适版本的 MySQL 镜像。

2. 拉取镜像

执行镜像所对应的命令,从远端拉取镜像。

3. 查看本地镜像

1
docker images

4. 运行容器

1
docker run --restart=always -d --name 容器名 -p 主机端口:3306 -e MYSQL_ROOT_PASSWORD=密码 mysql:5.7

其中,

  • --restart=always:开机自启
  • -d:后台运行
  • --name 容器名:指定容器名
  • -p 主机端口:3306:将主机端口与容器的 3306 端口相绑定,可以通过访问主机端口间接访问到容器的 3306 端口
  • MYSQL_ROOT_PASSWORD=密码
  • mysql:5.7:指定镜像

5. 外部访问 MySQL

直接访问主机的 3306 端口即可。

6. 内部访问 MySQL

(1) 进入容器

1
docker exec -it 容器名 bash

(2) 访问 MySQL

1
mysql -uroot -p密码

二、安装 Gitea

1. 拉取镜像

1
2
// 直接拉取最新版
docker pull gitea/gitea

2. 运行容器

1
docker run -d --privileged=true --restart=always --name=giteaContainer -p 主机端口1:22 -p 主机端口2:3000 -v /var/lib/gitea:/data gitea/gitea
  • -d:后台运行
  • --privileged=true:获取 root 权限
  • --restart=always:自动重启
  • --name=giteaContainer:指定容器名为 giteaContainer
  • -p 主机端口:容器端口:将主机端口与容器中的端口相绑定
  • -v 主机目录:容器目录:将主机中的目录与容器中的目录相绑定

3. 配置

访问 http://IP地址:主机端口2,在网页中进行配置即可。

SSH 服务端口应该配置为映射端口 1

三、安装 RabbitMQ

1. 拉取镜像

1
docker pull rabbitmq:3.9-management

建议选择带 management 的版本,自带 web 管理页面,更方便使用

2. 运行容器

1
docker run --restart=always -d --name RabbitMQ3.9 -p 5672:5672 -p 15672:15672 --hostname myRabbitMQ -e RABBITMQ_DEFAULT_VHOST=iVHOST -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.9-management
  • -p 映射端口
    • 5672:访问端口
    • 15672:web 管理面板端口
  • –hostname 设置主机名
  • -e 指定环境变量
    • RABBITMQ_DEFAULT_VHOST:默认虚拟机名
    • RABBITMQ_DEFAULT_USER:默认用户名
    • RABBITMQ_DEFAULT_PASS:默认密码

3. 访问

访问 http://127.0.0.1:15672,即可查看到 RebbitMQ 的 web 管理面板。

四、安装 Nacos

1. 拉取镜像

1
docker pull nacos/nacos-server:v2.2.0

2. 运行容器

1
docker run --restart=always -d --name Nacos -p 8848:8848 -e MODE=standalone nacos/nacos-server:v2.2.0
  • -e 指定环境变量
    • MODE:standalone 为单机模式,cluster 为集群模式

3. 访问

访问 http://127.0.0.1:8848/nacos,默认用户名和密码均为 nacos。

六、安装 Sentinel

1. 拉取镜像

1
docker pull bladex/sentinel-dashboard:1.8.0

2. 运行容器

1
docker run --restart=always -d --name Sentinel -p 8858:8858 bladex/sentinel-dashboard:1.8.0

3. 访问

访问 http://127.0.0.1:8858,默认用户名和密码均为 sentinel。

参考