镜像(Images)
下载镜像:
1 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
例如:(如果不写标签号,则默认为lastest)
1 docker pull ubuntu:16.04
查找镜像:
1 docker search httpd
查看下载的镜像:
1 docker images
删除镜像:
1 docker rmi image_name
2 docker image rm 镜像id或镜像名
3 docker image prune 或是 docker rmi $(docker images -q -f dangling=true) #两个命令都是删除<none>的虚悬镜像,但是后者更方便
根据镜像启动容器:
1 docker run -it --rm ubuntu:16.04 bash
2 docker run --name 自定义容器名 ubuntu # --name 启动容器时并设置一个容器名
3 docker run -d ubuntu # -d参数 后台启动容器
4 docker run -v 宿主机文件目录:容器文件目录 tomcat # -v 即data volume ,数据卷,容器直接访问存在宿主机下的文件,跳过ufs,实现容器数据持久化
-it
:这是两个参数,一个是-i
:交互式操作,一个是-t
终端。我们这里打算进入bash
执行一些命令并查看返回结果,因此我们需要交互式终端。--rm
:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动docker rm
。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用--rm
可以避免浪费空间。ubuntu:16.04
:这是指用ubuntu:16.04
镜像为基础来启动容器。bash
:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是bash
。- --name 命名
- --d 后台启动
- -v 启用数据卷,多个容器可以共享该文件,实现容器数据持久化
- 多个参数可以搭配共用
容器(containers)
查看正在运行的容器:
1 docker ps
查看所有容器:
1 docker ps -a
2 docker container ls -a
动态查看容器日志:
1 docker logs -f con_name
进入容器:
1 docker exec -it 容器Id bash 2 #以交互的方式进入容器
退出容器:
1 # 方法一 2 exit 3 # 方法二 4 ctrl+p && ctrl+q (一起按,注意顺序,退出后容器依然保持启动状态)
删除容器:
1 docker rm con_name #强制删除加 -f
2 docker container prune #删除已经停止了的容器
查看容器Pid:
1 docker top con_name
重启容器
1 docker restart 容器ID或容器名
停止容器(进程)运行
1 docker stop 容器名或ID
从主机复制文件到容器
1 docker cp host_path containerID:container_path
从容器复制文件到主机
1 docker cp containerID:container_path host_path
数据卷(Data Volume)
查看所有数据卷
1 docker volume ls
删除指定数据卷
1 docker volume rm [volume_name]