runoob.com的docker命令大全:http://www.runoob.com/docker/docker-command-manual.html
windows启动docker虚拟机:
1.通过桌面图标Docker Quickstart Terminal启动
2.通过cmd窗口:docker-machine start
可以运行docker-machine查看相关命令:
docker-machine ls //查看machines列表
docker-machine env default //查看default docker虚拟机的环境变量
docker-machine ip default //查看default的ip
docker-machine stop default//如果省略default,则默认启动的是default
docker-machine start default
windows进入docker的几种方式:
cmd命令窗口查看Docker ToolBox是否安装成功:docker-machine
1.cmd窗口进入docker环境:docker-machine ssh default
2.使用xshell remote 登录
ip:在cmd命令窗口中输入docker-machine ls可以查看docker运行的ip地址
用户名:docker
密码:tcuser
连接后即可进入docker环境,能直接运行docker命令
3.打开Oracle VM VirtualBox,进入default虚拟机,即可进入docker
docker相关命令
从dockerhub拉取镜像:
docker pull node:9.11.2-alpine //9.11.2是node版本,apline是linux发行版
运行一个容器:
docker run -it --name <容器名称> <镜像>
docker run -it --name nodetest node:9.11.2-alpine //这样回车会直接进入node环境
docker run -it --name nodetest node:9.11.2-alpine sh //加上sh会真正进入nodetest的容器
docker run -it --name testapp -v /dockerShare:/app -p 1337:1337 node:9.11.2-alpine sh
//testapp是容器名称
// -v 主机目录:容器数据卷目录 使得主机目录被挂载到容器中,可被容器访问。
// -p 主机端口:容器端口使得容器端口被映射到主机上,可以被容器外部访问到。
//镜像名node:9.11.2-alpine
//以sh命令访问容器,注意这里不能使用/bin/bash或者bash
理解很简单:
docker run:启动container
node:9.11.2-alpine :你想要启动的image
-t:进入终端
-i:获得一个交互式的连接,通过获取container的输入
/bin/bash:在container中启动一个bash shell
在docker环境中直接执行docker命令,就可以看到docker的所有command
查看所有镜像:docker images
查看容器(运行中的):docker ps
查看所有容器(包括停止的容器):docker ps -a
退出当前容器container:exit或者ctrl+d,此时container会随着退出而停止
退出不停止容器:ctrl+p+q
退出容器或stop时删除容器:docker run --rm xx
启动container:docker start <容器名>,前提是该容器存在
重启container:docker restart <容器名>
进入container:docker attach <容器名> //以此方式进入容器,退出时会停止容器
停止container:docker stop <容器名>
删除container:docker rm <容器名>
查看挂载的共享文件夹:mount
从容器创建一个新的镜像:docker commit <容器名> <要保存的镜像名:镜像tag>//如果镜像名相同,那不能和原有的镜像tag相同
获取容器/镜像的元数据:docker inspect <>
修改镜像的tag:docker tag <镜像id> <原镜像名:新tag>//如果镜像是新的名称,会复制一个新镜像,该功能同时可以用来修改镜像名称
获取docker msc地址:
docker inspect <你的容器名> |grep MacAddress|tr -d ' ,"'|sort -u
===>返回MacAddress:02:42:ac:11:00:03
或者
ifconfig -a,在docker环境中执行这句命令会出现很多网卡信息,应该进入容器环境:docker exec -it <容器名> sh,再执行ifconfig -a
从容器里面拷文件到宿主机:docker cp <容器名>:/usr/src/app/xx.js /dockerShare
从宿主机里面拷文件到容器:docker cp /dockerShare <容器名>:/usr/src/app/xx.js
退出而不停止容器:ctrl+p+q
或者使用使用“docker exec -it”命令进入,实现退而不停止
使用“docker attach”命令进入container(容器)有一个缺点,那就是每次从container中退出到前台时,container也跟着退出了。
要想退出container时,让container仍然在后台运行着,可以使用“docker exec -it”命令。每次使用这个命令进入container,当退出container后,container仍然在后台运行,命令使用方法如下:
docker exec -it goofy_almeida sh
goofy_almeida:要启动的container的名称
sh:在container中启动一个bash shell
这样输入“exit”或者按键“Ctrl + C”退出container时,这个container仍然在后台运行,通过:
docker ps就可以查找到。
一次性删除所有的容器 :docker rm $(docker ps -q -a) ,
一次性删除所有的镜像:docker rmi $(docker images -q)
一次性停止所有容器:docker stop $(docker ps -q -a)
注意执行docker run的时候之前容器不能包含同名的容器
windows平台下docker更新:docker-machine upgrade default
查看docker版本:docker version
导出和导入镜像
docker save -o <要保存的文件名><镜像名称>
示例:docker save -o /dockerShare/test node:9.11.2-alpine
保存的文件名可以指定共享文件夹目录,方便找到。文件名可以指定为tar扩展名,也可以不指定,如果不指定则无法直接打开,也起到包含源码的作用
docker load < <要导入的文件名>
示例:docker load < /dockerShare/test
也可以使用export/import来导入导出镜像
https://blog.csdn.net/ncdx111/article/details/79878098
查看docker容器的环境变量(推荐使用第2):
1.获取docker容器元数据:docker inspect <容器名:标签>
2. 使用docker exec -it