docker主要有镜像、容器、仓库三部分
一、镜像操作:
1.查看镜像:
docker images
REPOSITORY:镜像名称
TAG:镜像标签
IMAGE ID:镜像ID
CREATED:镜像的创建日期(不是获取该镜像的日期)
SIZE:镜像大小
这些镜像都是存储在Docker宿主机的/var/lib/docker目录下
2.搜索镜像:
docker search 镜像名称
NAME:仓库名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
3.拉取镜像:
从中央仓库中下载到镜像到本地
docker pull 镜像名称
4.删除镜像
docker rmi 镜像名称/id
或:
docker image rm 镜像名称/id
删除所有镜像:
docker rmi `docker images -q`
二、容器操作
1.查看容器:
查看正在运行的容器:
docker ps
查看所有容器:
docker ps -a
查看最后一次运行的容器:
docker ps -l
查看已经停止的容器:
docker ps -f status=exited
2.创建与启动容器
创建容器常用的参数说明:
创建容器命令:docker run
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
–name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
(1)交互式方式创建容器
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
这时我们通过ps命令查看,发现可以看到启动的容器,状态为启动状态
退出当前容器
exit
(2)守护式方式创建容器:
docker run -di --name=容器名称 镜像名称:标签
登录守护式容器方式:
docker exec -it 容器名称 (或者容器ID) /bin/bash
3.停止与启动容器
1.停止容器
docker stop 容器名称/id
2.启动容器
docker start 容器名称/id
3.查看容器各种数据
docker inspect 容器名称(容器ID)
三、仓库操作
Docker Hub 是 Docker 官方提供的最大的公共镜像仓库,目前包括了超过 100 000 的镜
像,地址为 https: //hub.docker.com 。 大部分对镜像的需求,都可以通过在 Docker Hub 中直接
下载镜像来实现
1.登录
docker login
然后填写dockerhub的用户名和密码
2.基本操作
docker search 镜像名称
docker pull 镜像名称
docker push 镜像名称
docker push 时遇到问题:
denied: requested access to the resource is denied
导致这个问题有两种可能:
(1)dockerhub 没有登录
(2)tag 没有用户名
此过程为以下内容:
xqkang@xqkang:~$ sudo docker push ubuntu:v1
[sudo] xqkang 的密码:
The push refers to repository [docker.io/library/ubuntu]
17e1333b32c0: Preparing
denied: requested access to the resource is denied
xqkang@xqkang:~$ docke tag ubuntu:18.04 xqkang/ubuntu:18.04
Command 'docke' not found, did you mean:
command 'docker' from deb docker.io
command 'docky' from deb docky
Try: sudo apt install <deb name>
xqkang@xqkang:~$ docker tag ubuntu:18.04 xqkang/ubuntu:18.04
xqkang@xqkang:~$ docker push xqkang/ubuntu:18.04
The push refers to repository [docker.io/xqkang/ubuntu]
e0b3afb09dc3: Mounted from library/ubuntu
6c01b5a53aac: Mounted from library/ubuntu
2c6ac8e5063e: Mounted from library/ubuntu
cc967c529ced: Mounted from library/ubuntu
18.04: digest: sha256:134c7fe821b9d359490cd009ce7ca322453f4f2d018623f849e580a89a685e5d size: 1152