# 镜像工具

采用容器快速构建环境依赖,这个是站在工具角度来使用,针对特定项目还是利用已提供的Dockfile 做镜像发布比较正规。为了方便可以共享主机网络(包括端口),可以加上--network=host,这样更方便。

如果环境是单独的,可以采用全部做成Dockfile,利用DevOps工具配置一站是流程,这里主要避免手动装软件的烦恼。

# Mysql

安装mysql,并初始化:

  • 安装

    # 指定密码使用
    docker run -d -v /var/lib/mysql:/var/lib/mysql  --name mysql -e MYSQL_ROOT_PASSWORD=xxxx mysql:8.0.25
    # 空密码使用
    docker run -d -v /var/lib/mysql:/var/lib/mysql  --name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:8.0.25
    

    支持远程访问加上共享主机网络--network=host,请设置安全密码。

  • 初始化数据

    # 默认localhost访问没有限制,可以去掉-p
    docker exec -i mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < db/seezoon-stack.sql
    

常用操作:

# 当做mysql 客户端使用
docker run -it --rm mysql mysql -hsome.mysql.host -usome-mysql-user -p
# 进入mysql容器
docker exec -it mysql bash
# 查看日志
docker logs mysql

具体文档参见Mysql Docker (opens new window)

# Redis

安装:

docker run --name redis -d redis

连接:

# 默认链接127.0.0.1 6379,连接其他可以添加-h -p 参数来指定host和端口 
docker run -it --rm redis redis-cli -h xxx.xxx

具体文档参见Redisl Docker (opens new window)

# Nginx

mkdir /usr/local/nginx
#准备一个配置文件https://raw.githubusercontent.com/nginx/nginx/master/conf/nginx.conf
docker run --name nginx -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -v /usr/local/nginx:/usr/local/nginx  -d nginx

# Java

docker run -d --name seezoon-admin-server -e IN_CONTAINER=true -v /data/seezoon-admin-server:/data/seezoon-admin-server openjdk:11 /data/seezoon-admin-server/bin/docker-entrypoint.sh start