docker操作命令

1.镜像相关命令
1)查看已经本地已下载镜像
docker images
各个选项说明:
REPOSITORY:镜像名称
TAG:镜像标签
IMAGE ID:镜像ID
CREATED:镜像的创建时间(不是获取该镜像的日期)
SIZE:镜像大小
这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

2)搜索镜像
docker search 镜像名称
各个选项说明:
NAME: 仓库名称
DESCRIPTION: 镜像描述
STARTS: 用户评价,反映一个镜像的受欢迎程度
OFFICIAL: 是否官方
AUTOMATED: 自动构建,表示该镜像由Docker Hub自动构建流程创建的

3)拉取镜像
拉取镜像就是从中央仓库中下载镜像到本地
docker pull 镜像名称

4)删除镜像
按镜像ID删除镜像
docker rmi 镜像ID
删除所有镜像
docker rmi `docker images -q`

2.容器相关命令
1)查看容器
docker ps 查看正在运行的容器
docker ps -a 查看所有容器
docker ps -l 查看最后一次运行的容器
docker ps -f status=exited 查看停止的容器
输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态
状态有7种:
created(已创建)
restarting(重启中)
running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcpudp);
NAMES: 自动分配的容器名称;

2)创建与启用容器
注意:创建的容器名称必须唯一(即使容器已经停止)
1)创建容器
创建容器命令:
docker run
参数:
-i: 表示运行容器,通常与 -t 同时使用;
-t: 表示容器启动后会进入命令行,加入这两个参数后,容器创建就能登录进去,即分配伪终端;
--name:为创建的容器命令;
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v多个目录或者文件映射,注意,最好做目录映射,在宿主机上做修改,然后共享到容器上;
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行,并返回容器ID;
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

a)交互式方式创建容器:
docker run -it  -p 主机(宿主)端口:容器端口 --name=容器名称 镜像名称:标签 /bin/bash
这是通过docker ps命令查看,发现可以看到启动的容器,状态为启动状态
退出当前容器
exit
此时,用docker ps -a发现当前容器已经停止
结论是当以交互式运行容器,当退出容器的时候,容器状态变为停止

b)守护式方式创建容器:
docker run -di  -p 主机(宿主)端口:容器端口 --name=容器名称 镜像名称:标签

例如:

docker run -di -p 63791:6379  --name=redis-001 redis:latest

此时,仍然在宿主机,执行上面命令,成功的话,会返回一个长的字符串,通过docker ps看到容器状态为正在运行;
通过命令 docker exec -it 容器名称 /bin/bash,进入容器,通过exit退出容器返回到宿主机;
通过docker ps看到容器状态仍然为正在运行;

3)停止与启动容器
停止容器:
docker stop 容器名称(或者容器ID)

启动容器:
docker start 容器名称(或者容器ID)

4)文件拷贝
将宿主机上的文件或者目录拷贝到容器内:
docker cp 宿主机上的文件或者目录 容器名称:容器目录

将容器内的文件或者目录拷贝到宿主机上:
docker cp 容器名称:容器上的文件或者目录 宿主机上的文件或者目录

5)目录挂载
可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样就可以通过修改宿主机某个目录的文件从而影响容器‘’
创建容器 添加-v参数 后边为 宿主机目录:容器目录,例如:
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos2 centos:7

6)查看容器Ip
查看容器运行的各种数据:
docker inspect 容器名称(或者容器ID)
也可以直接执行下面的命令,直接输出IP地址:
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(或者容器ID)

7)删除容器
删除指定的容器:
docker rm 容器名称(或者容器ID)
如果需要删除的容器正在运行中,需要停止容器(docker stop 容器名称,停止容器),然后执行docker rm 容器名称

原文地址:https://www.cnblogs.com/WebLinuxStudy/p/12876607.html