Docker 中使用数据库

时间:2024-10-13 07:20:49

Docker 演示脚本

  1. 完成两个docker image 之间的通讯
  2. 第二种容器
    docker run --name t1 -it --rm busybox:latest
    docker run --name t1 -it -–network bridge --rm busybox:latest
    docker run --name t1 -it --network bridge -h --rm busybox:latest
    docker run --name myweb --rm -p 80 magedu/httpd:v0.2
    查询IP 路由表
    iptables -t nat -vnL
    docker port myweb
    docker kill myweb
    ::中间是空表示宿主机的端口是动态的
    docker run --name myweb --rm -p 192.168.31.19::80 magedu/httpd:v0.2
    宿主机端口:docker端口
    docker run --name myweb --rm -p 8080:80 magedu/httpd:v0.2
    docker run --name myweb1 --rm -p 8081:80 magedu/httpd:v0.2
    docker run --name t1 -it -–network container:myweb --rm busybox:latest
    docker run --name t1 -it -–network container:host --rm busybox:latest
  3. 第三种方式启动容器,joined container
  4. 修改docker 0桥的地址
    a) vi /etc/docker/
  5. docker run --name myweb --rm -p 192.168.31.19::80 /nmingazov/labelme

docker run --name labelme -p 80:80 -it nmingazov/labelme:latest
service apache2 start

最后我们看一下 docker 其他常用的命令

命令 功能
docker ps 查看正在运行的容器
docker ps -a 查看所有的容器
docker stop mysql56 停止 mysql56 这个容器
docker start mysql56 启动 mysql56 这个容器
docker images 查看 docker 所有镜像
docker image list 同上
docker rm mysql56 删除 mysql56 这个容器
docker rmi mysql:5.6 删除 mysql 5.6 版本的 image

Docker 中使用mySQL

  1. 进入linux 系统,启动docker

// centos 7 上运行指定命令

启动mySQL docker 镜像

systemctl start docker
启动后,查看启动状态
systemctl status docker
下载docker 指定的版本
docker pull mysql:5.5

docker run -p 3316:3306 --name mysql56 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.5

docker run --name mysql55 –rm -e MYSQL_ROOT_PASSWORD=123456 -it mysql:5.5 bash
5.将数据目录挂在到宿主机

// 原文使用的方法
//启动docker 镜像
docker run --name mysql55 --rm -v/data/mysql/datadir:/var/lib/mysql -v /data/mysql/:/etc/mysql/ -e MYSQL_ROOT_PASSWORD=123456 -d mysql
// 进入交互界面
docker exec -it mysql55 bash

//1.启动docker 镜像 并进入交互界面
docker run --name mysqlgz --rm -v/data/mysql/datadir:/var/lib/mysql -v /data/mysql/:/etc/mysql/ -e MYSQL_ROOT_PASSWORD=123456 -it mysql:5.5 bash
//2. 登录数据库
mysql -u root -p
postgresSQL 相关docker操作
How to use this image
start a postgres instance
$ docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres

$ docker run --name p1 -e POSTGRES_PASSWORD=password -d postgres:10.12
docker exec -it p1 bash
su -postgres
psql -U postgres -d postgres

mySQL 常用指令

//1 连接数据库
格式: mysql -h主机地址 -u用户名 -p用户密码
查看数据库列表
show databases;
创建数据库
create database testdb;
删除数据库
drop database testdb;
查看当前登录的数据库
select database();
select version(); // 显示mysql版本
select now(); // 显示当前时间
select current_date; // 显示年月日
select ((4 * 4) / 10 ) + 25; // 计算
//2 修改密码
格式:alter user 用户名@主机地址 identified by ‘新密码’
alter user root@localhost identified by ‘newroot’
主机地址为空时:alter user root identified by ‘newroot’

//3 增加新用户
注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符
格式:create user ‘用户名’@’主机地址’ identified by ‘密码’;
1、增加tom1用户 密码为 tom1,可在任何主机登录:
create user ‘tom1’@‘localhost’ identified by ‘tom1’;
2、引号可省略,即:
create user tom1@localhost identified by ‘tom1’;
3、主机地址存在 % 时不可省略引号,即:
create user tom1@‘192.168.1.%’ identified by ‘tom1’;