Docker 部署常用应用

本贴最后更新于 1140 天前,其中的信息可能已经斗转星移

docker 部署应用的示例,以方便后来查看(持续添加)

docker 部署应用步骤:

  1. 搜索镜像

    一般到 Docher Hub 搜索需要的镜像,然后找到对应的版本直接 pull

  2. 拉取镜像

  3. 创建容器

  4. 操作容器

部署 mysql

我这里部署的是 mysql8 版本。

# 搜索镜像
docker search mysql:8

# 拉取镜像
docker pull mysql:8

# 查看镜像
docker images

# 创建并启动
docker run -d \
-p 3306:3306 --name mysql8 \
-v /root/docker_app_confg/mysql8/log:/var/log/mysql \
-v /root/docker_app_confg/mysql8/data:/var/lib/mysql \
-v /root/docker_app_confg/mysql8/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--restart=always \
mysql:8

/root/docker_app_confg/mysql8/conf 目录下新建 conf.d 文件内容如下:

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip_character-set-client-handshake
skip-name-resolve

部署后,可以使用数据库管理工具进行连接(navicatformysql,syslog 等)

部署 redis

我这里部署 redis6

# 拉取镜像
docker pull redis:6

# 创建启动容器
docker run --name redis6 -d \
-p6379:6379 \
-v /root/docker_app_confg/redis6/conf/redis.conf:/usr/local/etc/redis/redis.conf \
--restart=always \
redis:6 redis-server /usr/local/etc/redis/redis.conf

# 可以添加参数设置密码
--requirepass "123456" 

# 进入容器
docker exec -it redis6 redis-cli
docker exec -it redis6 redis-cli -a '密码'

部署 gitea

# 拉取镜像
docker pull gitea/gitea:latest

# 启动镜像
docker run -d --name=gitea \
-p 222:22 \
-p 9999:9999 \
-v /docker_app_config/gitea:/data \
--restart=always \
gitea/gitea:latest

# 修改配置  
# vi /docker_app_config/gitea/gitea/conf
# 修改 server 和 database 这两项
[server]
APP_DATA_PATH    = /data/gitea
DOMAIN           = 47.97.127.213
SSH_DOMAIN       = 47.97.127.213
HTTP_PORT        = 9999
ROOT_URL         = http://47.97.127.213:9999
DISABLE_SSH      = false
SSH_PORT         = 222
SSH_LISTEN_PORT  = 22
LFS_START_SERVER = false
LFS_CONTENT_PATH = /data/git/lfs

[database]
PATH    = /data/gitea/gitea.db
DB_TYPE = mysql
# 修改ip:port
HOST    = ip:port
NAME    = gitea
USER    = root
PASSWD  = root

# 访问
http://xxx:9999/
注册账号密码 分配权限

部署 Nacos

# 1. 拉取镜像
docker pull nacos/nacos-server

# 2. 创建数据库并初始化schemal
参照(https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql)

# 3. 启动容器 (参数查看 https://nacos.io/zh-cn/docs/quick-start-docker.html)
docker run -d \
-e MODE=standalone \
-e PREFER_HOST_MODE=ip \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=xxx \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server

# 4. 进入容器 查看
docker exec -it nacos /bin/bash
# 查看其中的${XXX} 的环境变量,确保是正确的值 ,如果没有的话 可以使用 set KEY=VALUE 设置(在容器内设置) 
cat /home/nacos/conf/application.properties  

# 5,访问 ip:8848/nacos 
账号密码 都是nacos

部署 rabbitmq

# 拉取镜像
docker pull rabbitmq:3.8.5-management

# 启动容器
docker run -d --name rabbitmq3.8.5 --restart=always -p 15672:15672 -p 5672:5672 rabbitmq:3.8.5-management

# 控制台访问 
ip:15672
账号密码都是 guest
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    476 引用 • 899 回帖
2 操作
jchain 在 2021-03-02 18:08:33 更新了该帖
jchain 在 2020-07-03 18:08:41 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...