Docker(2)--图形化及编排
1.Docker
图形化界面直接使用命令下载,其本身也是一个镜像
docker run -id -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
下载后直接在浏览器访问 虚拟机/服务器:9000
1.进入后设置密码
2.选择本地(local)
3.
在其中,可以对镜像,容器等进行增删改操作
2.
如果我需要同时部署好多个服务,难道要每个服务单独写Dockerfile然后在构建镜像,构建容器,这样累都累死了,所以docker官方给我们提供了docker-compose多服务部署的工具
Compose允许用户通过一个单独的docker-compose.yml模板文件[你写](YAML 格式)来定义一组相关联的应用容器为一个项目(project)
# Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我 们以编译好的二进制包方式安装在Linux系统中。
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置文件可执行权限
chmod +x /usr/local/bin/docker-compose
# 查看版本信息
docker-compose -version
下载成功!
FROM java:8 MAINTAINER baby<6666@163.com> ADD DockerTestProject-0.0.1-SNAPSHOT.jar test.jar EXPOSE 8080 CMD java -jar test.jar
其中,这两个文件放入到docker目录中的project目录(没有就创建一个)
version: "3" services: micro_service: container_name: myp1 build: context: ./project #dockerfile文件和jar包所在位置 dockerfile: dockerfile #dockerfile文件名 ports: - "8080:8080" volumes: - /app/microService:/data networks: - aaa_net depends_on: - myredis - mymysql myredis: image: redis:6.0.20 ports: - "6379:6379" volumes: - /app/redis/redis.conf:/etc/redis/redis.conf # 必须在宿主机中存在my.cnf文件 - /app/redis/data:/data networks: - aaa_net command: redis-server /etc/redis/redis.conf mymysql: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: 'root' MYSQL_ALLOW_EMPTY_PASSWORD: 'no' MYSQL_DATABASE: 'aaasql' ports: - "3306:3306" volumes: - /app/mysql/db:/var/lib/mysql - /app/mysql/my.cnf:/etc/my.cnf # 必须在宿主机中存在my.cnf文件 - /app/mysql/init:/docker-entrypoint-initdb.d networks: - aaa_net command: --default-authentication-plugin=mysql_native_password #解决外部无法访问 networks: aaa_net:
详情查看:https://www.cnblogs.com/9--1/p/17683130.html
[client] default_character_set=utf8 [mysqld] collation_server = utf8_general_ci character_set_server = utf8
将项目需要的数据库文件在远程数据中复现
比如我在本地需要一个aaa库和student表
那么将这些数据连接远程数据库后复制到其中
那么在项目中的mysql配置文件可以写成这样:
这样就可以动态的移动整个项目,哪怕换一个服务器也可以照样运行
docker-compose up
以上便是Docker(2)--图形化及编排中的内容,如有漏缺请在下方留言告知,我会及时补充