1.如果直接docker的时候提示docker Deamon没有运行,可以将当前用户添加到docker的组里,这样无需sudo就可以运行了
2.docker images 列出现有镜像。
3.docker ps -a 列出全部的contain
4.docker build ”dockerFileDir“ 就可以根据dockerFileDir中的DockFile文件进行构建image
docker build -t ouruser/sinatra:v2 .
这个命令可以定镜像名字为: ouruser/sinatra 版本为V2 dockerfile是在当前目录下。
5.docker run -t -i training/sinatra /bin/bash
docker run -d -t dockername —rm 可以删除镜像
后台允许docker
启一个container去运行这个镜像。
6.删除镜像 docker rmi imgName
7删除container docker rm containerID
8.docker exec -i mytestMongoDb mongo 进入docker 运行命令。
9:启动一个已经停止的docker进程:
docker start containerName
10.进入docker container 中进行命令交互:
docker attach reverent_nobel
退出时会导致整个容器进程也退出。
11.docker镜像和宿主机文件相互复制:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
12.docker 容器中执行命令:
docker exec -i/-t
docker exec -t containerName bash
docker 执行container中的命令,-t 只有终端,但是没有标准输出,无法获得执行的结果。
docker exec -it desperate_northcutt /bin/sh
执行命令和获取命令结果都可以了。
13.导出container的文件系统:
docker export containerName exportfileName
export Export a container's filesystem as a tar archive
14.docker build -t <新镜像名> ./ #根据当前目录生成新的镜像
15.设置docker时间与宿主机同步:
docker cp /etc/localtime 4adae75490d7:/etc/localtime
16设置docker 端口映射
docker run -d -p 27019:27017 93c5409ed192
需要学习的:
1.docker 使用的文件资源怎么查看。
/var/lib/docker/volumes 文件是放在这里的 默认情况下
我现在的测试数据是在:
/var/lib/docker/volumes/af11f89a3139eb5c3269df31f9fd124732c01a6f92f1f85261c445e4aa1a9104/_data 中。
docker inspect -s 4adae75490d7(镜像名)
Usage: docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
Return low-level information on a container or image
2.docker 如何映射文件资源到外部。
docker cp cd0f61fb8256:/opt/a.html /
3.获取全部的docker 镜像名称。
docker images | awk '{imgId="";if($1 == "<none>"){imgId = $3;} else imgId = $1; print imgId}'
4.获取全部container所用的镜像:
docker ps -a |awk '{print $2}'| sort -u
awk 'NR==FNR{a[$0];next}!($0 in a)' bbbb aaaa