数据库和Docker操作指南
摘要
前端程序员平时都在忙工作业务,偶尔想搞搞自己的服务器,时间久了经常会忘记数据库的基本操作,所以整理一下基本的操作指令,该文档仅作为个人学习记录。
Mydql 数据库常用指令
| 指令 | 描述 | 备注 |
|---|---|---|
| mysql -u root -p | 连接数据库 | |
| create database 数据库名; | 创建数据库 | |
| drop database <数据库名>; | 删除数据库 | |
| use db_name; | 选择数据库 | |
| show databases; | 查看所有的数据库 | |
| status | 查看数据库状态 | |
| show tables; | 查看数据库中的表 | |
| desc table_name | 查看表结构 |
Mongoodb 常用指令
| 指令 | 描述 | 备注 |
|---|---|---|
| mongo | 连接数据库 | |
| use runoob | 创建/选择数据库, | 新创建的数据库,要在里面新建集合,才能show dbs查看到 |
| show dbs | 查看所有数据库 | |
| db.runoob.insert({"name":"菜鸟教程"}) | 插入数据 | |
| use runoob && db.dropDatabase() | 删除数据库 | |
| db.createCollection('runoob') | 创建集合 | |
| db.collection.drop() | 删除集合runoob | |
| db.collection.insert(document) | 插入文档 | |
| db.collection.replace()/save() | 替换文档 | |
| db.collection.insertOne() | 插入一条数据 | |
| db.collection.insertMany() | 插入多条文档 | |
| db.collection.update(, ) | 更新文档 | |
| db.collection.remove(,<{justOne: boolean}>) | 删除文档 |
Docker 常用指令
dockder 创建容器时可以传递多个参数,扩展额外的功能。比如:通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力
runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
root@0123ce188bd8:/#
- -t: 在新容器内指定一个伪终端或终端。
- -i: 允许你对容器内的标准输入 (STDIN) 进行交互。
- -d:启动容器(后台模式)
- /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash
要退出终端,直接输入 exit:
root@ed09e4490c57:/# exit
容器操作
| 指令 | 描述 | 备注 |
|---|---|---|
| docker create | Create a new container | |
| docker run -itd --name ubuntu-test ubuntu | 运行一个ubuntu容器 | |
| docker exec -it ubuntu-test /bin/bash | 进入容器 在运行的容器中使用命令行 | docker exec退出时容器不会 停止 |
| docker attach <容器 ID> | 进入容器 | docker attach退出容器时,会导致容器的停止。 |
| docker ps | 查看容器列表并展示运行信息 | |
| docker stop | 停止容器 | |
| docker start id/name | 启动一个已停止的容器 | |
| docker restart <容器 ID> | 重启容器 | |
| docker rm <容器 ID> | 删除容器 | |
| docker port <容器 ID> | 查看容器的端口映射 |
镜像操作
| 指令 | 描述 | 备注 |
|---|---|---|
| docker pull image_name | 下载镜像 | |
| docker images | 查看docker镜像列表 | |
| docker rmi <镜像> | 删除镜像 | |
| docker builder -t test_image . | 创建一个新的镜像 | -t :指定要创建的目标镜像名;. :Dockerfile 文件所在目录 |
容器连接
网络端口映射
容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。
- -P :是容器内部端口随机映射到主机的高端口。
- -p : 是容器内部端口绑定到指定的主机端口。
runoob@runoob:~$ docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
注意:冒号左边是 主机的端口,右边是 容器的端口号
这样我们就可以通过访问 127.0.0.1:5001 来访问容器的 5000 端口。
例子
使用 docker nginx发布一个静态页面:
root@Zhangjunrui:~/lib/www# docker run -p 8000:80 -v $PWD:/usr/share/nginx/html nginx
以上命令行功能如下:
- 启动一个运行nginx的容器
- 将外部主机8000端口 映射到docker容器的默认端口80上
- 将容器的nginx默认路径,连接到外部主机的
$PWD运行目录下
工作步骤:
- 浏览器访问
http://www.***.com:8000 - docker nginx 80端口
- docker nginx/静态资源文件路径 映射到外部主机路径
- 浏览器响应