1.镜像相关命令
查看镜像:docker images
列出了所有顶层(top-level)镜像。实际上,在这里没有办法区分一个镜像和一个只读层,所以提出了top-level镜像。只有创建容器时使用的镜像或者是直接pull下来的镜像能被称为顶层(top-level)
镜像,并且每一个顶层镜像下面都隐藏了多个镜像层。使用示例:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos centos6 6a77ab6655b9 8 weeks ago 194.6 MB
ubuntu latest 2fa927b5cdd3 9 weeks ago 122 MB
在列出信息中,可以看到几个字段信息
REPOSITORY
来自于哪个仓库,比如 ubuntu
TAG
镜像的标记,比如 14.04
IMAGE ID
它的 ID 号(唯一)
CREATED
创建时间
SIZE
镜像大小
搜索镜像:docker search 镜像名称
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 5071 [OK]
ansible/centos7-ansible Ansible on Centos7 119 [OK]
jdeathe/centos-ssh CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x86… 104 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC session… 73 [OK]
NAME # 镜像仓库 DESCRIPTION # 镜像描述信息 STARS # 镜像收藏数 OFFICIAL # 是否为docker官方发布的镜像 AUTOMATED # 是否为自动化构建的镜像,关于自动化构建。
拉取镜像:docker pull 镜像名称
删除镜像:docker rmi 镜像名称
2.容器相关命令
查看容器:docker ps
查看所有容器:docker ps -a
查看最后一次运行的容器:docker ps -l
查看停止的容器:docker ps -f status=exited
创建容器:docker run-d, --detach=false
, 指定容器运行于前台还是后台,默认为false-i, --interactive=false
,用于控制台交互-t, --tty=false
, 分配伪终端设备,该可以支持终端登录,默认为false-p, --publish-all=false
, 端口映射,前者宿主机端口,后者容器内端口映射。可以使用多个-p做多个端口映射-v, --volume=[]
,目录映射,前者宿主机目录,后者容器内目录映射。可以使用多个-v做多个端口映射,做好映射,在宿主机上修改分享到容器内
交互方式创建容器:docker run -it --name=容器名称 镜像名称:标签 /bin/bash
守护式方式创建容器:docker run -id --name=容器名称 镜像名称:标签 /bin/bash
登陆守护式容器:docker exec -it 容器名称(或容器ID) /bin/bash
停止容器:docker stop 容器名称(或容器ID)
启动容器:docker start 容器名称(或容器ID)
文件拷贝:docker cp 需要拷贝的文件或目录 容器名称:容器目录 或 从文件内拷贝出来:docker cp 容器名称:容器目录 需要拷贝的文件或目录
目录挂载:docker run -id -v /usr/local/html:/usr/local/html --name=html centos:7
可以通过修改宿主机某个目录的文件而影响容器,-v 宿主机目录:容器目录。如果共享多级目录可能出现权限不足的提示,这是因为CentOs7.x的selinux把权限禁掉了,需要添加--privileged=true解决
查看容器IP地址:docker inspect 容器名称(容器ID) 或 docker inspect --format=`{{NetworkSettings.IPAddress}}` 容器名称(容器ID)
删除容器:docker rm 容器名称(容器ID)