1. 创建容器,并进入bash应用
```docker run -t -i software /bin/bash```
备注:-t 进入终端的意思 /bin/bash终端可使用命令
2. 列出本地镜像
```docker images```
3. 修改已有镜像
1)、先利用原有的镜像启动容器
```docker run -t -i software /bin/bash```
会进入
```root@0b2616b0e5a8:/#```
我们记住这个会话ID
2)、随便在容器创建写东西
```root@0b2616b0e5a8:/# touch explame.txt```
创建完成之后使用exit退出bash界面
3)、现在容器已经被我们改变了,使用 docker commit 命令来提交更改后的镜像副本
```docker commit -m "更新说明" -a "指定更新的用户信息" 会话ID 目标仓库名/新的镜像名 ```
在创建成功后会返回这个镜像的ID信息
完整命令:
```
docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c
```
4)、之后我们可以使用新的镜像来启动容器
```
docker run -t -i ouruser/sinatra:v2 /bin/bash
root@78e82f680994:/#
```
4. 创建容器之后,可以使用以下命令再次进入bash界面
```docker exec -t -i nginx /bin/bash```
5. 利用Dockerfile来创建生成镜像
```
# 指定容器镜像
FROM 624508914/nginx
# 维护者信息
MAINTAINER 624508914 <624508914@qq.com>
# RUN 执行容器命令
RUN touch /root/2.txt
# 最后使用docker build 来生成镜像
# docker build -t="624508914/nginx:v2" .
# 这里的624508914/nginx:v2是新的镜像名
# 在最后是有一个 . 的 这个点代表Dockerfile所在路径
```
docker build -t是指定新的用户信息 “.”是Dockerfile所在的路径,也可以替换为一个具体的Dockerfile的路径
* 一个镜像不能创建超过127层
6. 利用新的镜像启动容器
```docker run -d -p 80:80 --name nginx 624508914/nginx:v2```
7. 删除一个镜像
```docker rmi 624508914/nginx:v2```
* 如果正在使用这个镜像 可以加 -f 进行强制删除
8. 删除一个容器
```docker rm nginx```
* nginx是我在创建容器时使用--name指定的容器名 当然你也可以用容器ID
* 如果提示无法删除,可以加 -f 进行强制删除
9. 修改镜像标签
```
#docker tag 镜像ID 新的镜像名
#完整命令如下:
docker tag 58ef2dw21f 624508914/nginx:level
```
10. 导入本地镜像
```
cat centos7.minimal.tar.gz | docker import - centos:7
```
11. 上传镜像到Docker远程仓库
```
docker push 624508914/nginx
```
* 在push之前必须先使用命令登录hub.docker.com
```
docker login -e 624508914@qq.com -p 624508914!@
```
- 前端
- 技巧汇总
- 构建 Node + Webpack + React 热加载开发环境
- React
- Redux
- Webpack
- ES6
- HTML5+CSS3
- Javascript
- JS超简洁拖动代码
- jQuery
- 后端
- 技巧汇总
- 代码中特殊的注释技术——TODO、FIXME和XXX的用处
- PHP
- Xdebug不解之谜
- PHP时间获取
- PHP递归优化 使用匿名函数进行递归
- PHP 发起POST请求
- PHP获得数组的交集与差集
- PHP递归获取下级数组,可指定ID,一维数组
- PHP 判断是否为Get/Post/Ajax提交
- PHP实现分流队列平均显示信息
- PHP多维数组 指定列排序
- PHP 类Class详解 笔记记录
- PHP取整函数详解
- Node
- Elasticsearch
- 数据库
- 技巧汇总
- Mysql
- Mysql分区表实现
- Mysql union与union all 查询
- Mysql 表中表查询
- Mysql 分组查询 与 分组条件查询
- MySQL 添加列,修改列,删除列
- Mysql优化之:构建海量表,定位慢查询
- Mysql优化之:表的设计满足3NF
- Mysql优化常见方法
- Mysql存储过程详解
- 运维
- 技巧汇总
- Linux
- Linux Centos系统下 设置代理服务器上网
- Centos7增加开机启动脚本
- centos 挂载windows共享目录
- CentOS设置SSH Key登录
- Linux/CentOS单网卡绑定多个IP
- Windows
- Win10开机启动项设置全解攻略
- PuTTY连接Linux服务器经常断线解决方案
- Docker
- Docke启动文件 docker-compose.yml
- Docker命令简介(未完)
- Docker闲杂笔记
- Apache
- Nginx
- Nginx配置upstream实现负载均衡
- Nginx负载均衡学习
- IDE
- 技巧汇总
- WebStorm
- PHPStorm
- 协作
- 技巧汇总
- Git
- git 放弃本地修改 强制更新
- git编译安装与常用命令
- Svn