简介
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
准备工作
安装Docker CE
- 删除系统上可能存在的所有较旧的Docker安装:
sudo apt remove docker docker-engine docker.io
- 确保有必要的包:
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg
- 添加Docker的GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 验证GPG密钥的指纹:
sudo apt-key fingerprint 0EBFCD88
看到差不多这样的输出
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb)
sub rsa4096 2017-02-22 [S]
- 添加稳定的docker
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 更新软件包索引并安装Docker CE:
sudo apt update
sudo apt install docker-ce
- 运行helloworld检查是否安装成功
docker run hello-world
安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose #赋予执行权限
docker-compose --version #检查版本
创建软链接sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
检测版本docker-compose version
输出成功 即为安装成功
编写yml文件
创建目录
cd /usr/local/
mkdir docker
cd docker/
mkdir mysql
cd mysql/
新建文件
vim docker-compose.yml
docker-compose.yml文件内容
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
adminer:
image: adminer
restart: always
ports:
- 8080:8080
启动 docker-compose up -d
查看容器状态docker ps
安装Navicat premium
懂得都懂 https://www.52pojie.cn/forum.php?mod=viewthread&tid=1142909
连接数据库
分别输入docket的宿主机ip、刚才设置的端口号、用户名、密码等,即可。如果连不上,可以docker ps
看下是否启动,端口号是否正确,docker所在宿主机防火墙设置,navicat所在机器防火墙设置。
配置静态ip
因为虚拟机的ip是dhcp获取的,所以可能会有变化,这里是Ubuntu18.04配置方法
查看网卡、ip等信息ifconfig
查看网关netstat -rn
以0.0.0.0开始的行的gateway是默认网关
根据对应信息,对/etc/netplan/01-network-manager-all.yaml
修改
network:
ethernets:
ens33:
addresses: [192.168.190.201/24]
gateway4: 192.168.190.2
nameservers:
addresses: [8.8.8.8,114.114.114.114]
version: 2
使配置生效netplan apply