docker常用命令汇总

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 OR env查看

你可能感兴趣的:(docker)