docker应用笔记
first install it:
首先安装:
apt install docker.io
启动服务:
/etc/init.d/docker start
基本概念:
镜像:相当于虚拟机里的磁盘文件,里面有一套配置好的系统,应用程序
容器:相当于一个虚拟机实例,一个镜像能打开多个容器,互不干扰,容器里的文件系统都是临时的.改变不影响镜像.
搜索/下载/查看镜像:
docker search 关键词
会根据关键词搜索镜像并显示列表
列表中的镜像大多是 用户名/镜像名 结构,下载的时候要包含用户名.
有个别镜像没用户名,那是经过docker官方认证的安全镜像.可放心下载食用(滑稽脸)
后面会教怎么上传镜像
docker pull 镜像全名
会下载镜像
如果已知镜像全名,可以直接run,会自动下载.
docker images会显示本地所有镜像,会有镜像ID,操作镜像的时候可通过ID操作(在能区分其它镜像的情况下,只输入前几位即可)....
打开容器运行镜像:
建立一个目录给容器内使用:
不要动容器里的文件目录,重启会丢失!要操作文件自己另外挂载目录进去!如果特殊情况(比如你用apt装了程序)非要这么做,请留意后面的[保存当前容器状态为新镜像]
mkdir /docker
接着:
docker run -i -t -v /docker:/docker -p 80:80 nginx /bin/bash
解释:
建立一个容器,运行一个nginx镜像,如果找不到,docker会去官网下载
-i -t 通常成对用,表示让容器的标准输入保持打开,以及让docker建立一个伪终端并附加到容器的标准输入输出上.
-v /docker:/docker 挂载文件夹到容器内
-p 80:80 将主机的80端口转到容器80端口
/bin/bash 打开容器后要运行的指令(允许加参数)
在容器内切换出去:
不停止容器:Ctrl+P Ctrl+Q
停止容器:执行exit指令或者快捷键 Ctrl+A Ctrl+D (注意:容器停止了但是还是存在的)
查看容器列表:
docker ps -l
容器列表里每个容器都有个ID,操作容器的时候可以通过ID操作,输入前几位就行!里面包含 启动的 和 停止的 容器!
附加到容器控制台:
docker attach 容器ID或容器名
如果容器没运行,得先把它运行起来:
docker start 容器ID或容器名
既然有运行,当然也有停止指令..下面就有↓
删除容器:
docker rm 容器ID或容器名
删除之前如果容器没结束,得先结束掉:
docker stop 容器ID或容器名
删除镜像:
docker rmi 镜像ID或镜像名
删除之前请先删除该镜像相关容器
保存当前容器状态为新镜像:
在容器运行中安装配置好后,可将容器状态保存为镜像,指令是:
docker commit 容器ID或容器名 镜像名
如果想提交到docker镜像中心,得添加这些参数:
-a:作者
-m:说明文本
比如我的语句:
docker commit -a "o70078" -m "this is a test" 4200 o70078/oknginx
上传容器到docker镜像中心:
首先去docker官网注册账号:https://cloud.docker.com/
在机器上登录:
在主机运行 docker login
会让你输入帐号密码登录
然后 docker push 镜像名
导出容器为文件,以及导入文件(所谓的离线分发~):
导出:docker export 容器ID > 文件路径
导入:docker import 文件 (可以是在线的http URL)