docker相关教程

This commit is contained in:
fanxb 2018-12-26 14:37:24 +08:00
parent 23a89e4b6d
commit 14001b3c31
4 changed files with 131 additions and 2 deletions

View File

@ -0,0 +1,30 @@
---
id="2018-12-26-11-50"
title="docker下mysql启动报错"
headWord="报错是这么产生的使用装有mysql的镜像创业一个容器然后在容器中启动mysql就会报错启动失败。"
tags=["docker","mysql"]
category="linux"
serie="踩坑"
---
# 1、报错过程
  报错是这么产生的,使用装有 mysql 的镜像创业一个容器,然后在容器中启动 mysql 就会报错,启动失败。报错内容如下:
```log
2017-11-15T06:44:22.141481Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table storage engine for 'user' doesn't have this option
```
# 2、怎么解决
  最开始看到这个报错是比较莫名其妙的,不知道如何解决,百度上搜索资料也不多,找了半天才在`stack overflow`上找到了原因和解决办法,由于 docker 默认的存储驱动是 overlayfsoverlay2),将其改为 aufs 即可,编辑/etc/docker/daemon.json如果没有这个文件新建
```json
{
"storage-driver": "aufs",
"debug": true,
"experimental": true
}
```
关于这个问题github 上有反馈这个问题,详情[看这里](https://github.com/moby/moby/issues/35503)

View File

@ -0,0 +1,99 @@
---
id="2018-12-26-13-18"
title="docker简单使用教程"
headWord="报错是这么产生的使用装有mysql的镜像创业一个容器然后在容器中启动mysql就会报错启动失败。"
tags=["docker","mysql"]
category="linux"
serie="软件相关"
---
### 1、镜像操作
#### 1. 列出镜像
```bash
docker images;
```
#### 2. 删除镜像
```bash
docker rmi 镜像id/镜像名:版本
```
#### 3. 搜索镜像
```bash
docker search 镜像名
```
#### 4. 拉取镜像
```bash
#如不加tag默认拉取latest
docker pull name:tag
```
#### 5. 镜像导出/导入文件
```bash
# 使用name:tag或者id确定要导出的镜像> 导出的路径
docker save name:tag/id > /home/image-save.tar
# 加载镜像文件到docker中
docker load /home/image-save.tar
```
#### 6. 查看镜像创建历史
```bash
docker history [options] image
# -H:已可读的格式打印镜像大小和日期,默认使用
# --no-trunc显示完整的提交记录
# -q:仅列出提交记录id
```
#### 7. 容器保存为镜像
```bash
docker commit -m "提交信息" -a "作者信息" 容器id/容器名 镜像名:镜像tag
```
### 2.容器操作
#### 1.通过镜像创建容器
```bash
docker run -itd -p 3306:3306 -p 9200:9200 --name oms_env oms_env:0.6
# 参数说明
-i 让容器的标准输入 通常it配合使用
-t docker分配一个伪终端并绑定到容器的标准输入上
-d 容器后台运行
-p 小写phostPort:ContainerPort 绑定容器端口到当前主机端口
-P 大写Pdocker随机映射一个端口到容器内部开放的网络端口
```
#### 2.保存容器到文件/恢复文件到容器
```bash
# 保存容器到文件
docker export 容器名/容器id > /home/container_export.tar
docker import < /home/container_export.tar
```
#### 3.删除容器
```bash
docker rm 容器id/容器名
```
#### 4.拷贝文件到容器内
```bash
docker cp hostPath 容器id:containerPath
#例如
docker cp /home/ubuntu ecc:/home
#将本机的/home/ubuntu目录拷贝到了以ecc开头的容器内的home目录
```

View File

@ -4,7 +4,7 @@ title="linux下mongodb的配置与安装"
headWord="linux下docker的安装与配置" headWord="linux下docker的安装与配置"
tags=["docker", "linux","ubuntu"] tags=["docker", "linux","ubuntu"]
category="linux" category="linux"
serie="linux软件安装配置" serie="软件相关"
--- ---
# 一、安装 # 一、安装

View File

@ -4,7 +4,7 @@ title="linux下mongodb的配置与安装"
headWord="记录linux下如何安装与配置mongodb" headWord="记录linux下如何安装与配置mongodb"
tags=["mongodb", "linux"] tags=["mongodb", "linux"]
category="linux" category="linux"
serie="linux软件安装配置" serie="软件相关"
--- ---
&emsp;&emsp;首先到官网下载安装包,官网地址如下:[点击跳转](https://www.mongodb.com/download-center/community),选中合适的版本,下面会出现下载链接,然后使用 wget url 下载到当前文件夹下。mongodb 4.04 ubuntu18.04 64 下载命令如下: &emsp;&emsp;首先到官网下载安装包,官网地址如下:[点击跳转](https://www.mongodb.com/download-center/community),选中合适的版本,下面会出现下载链接,然后使用 wget url 下载到当前文件夹下。mongodb 4.04 ubuntu18.04 64 下载命令如下: