首页 > 技术文章 > Docker命令

liulong99 2019-11-20 12:04 原文

镜像常用操作

查找镜像:

docker search 关键词 
#搜索docker hub网站镜像的详细信息

下载镜像:

docker pull 镜像名:TAG 
# Tag表示版本,有些镜像的版本显示latest,为最新版本

查看镜像:

docker images 
# 查看本地所有镜像

删除镜像:

docker rmi -f 镜像ID或者镜像名:TAG 
# 删除指定本地镜像 
# -f 表示强制删除

删除所有的镜像

docker rmi $(docker images -q)

强制删除所有镜像

docker rmi -f $(docker images -q)

获取元信息:

docker inspect 镜像ID或者镜像名:TAG 
# 获取镜像的元信息,详细信息
容器常用操作

运行:

docker run --name 容器名 -i -t -p 主机端口:容器端口 -d -v 主机目录:容器目录:ro 镜像ID或镜像名:TAG 
# --name 指定容器名,可自定义,不指定自动命名 
# -i 以交互模式运行容器 
# -t 分配一个伪终端,即命令行,通常-it组合来使用 
# -p 指定映射端口,讲主机端口映射到容器内的端口 
# -d 后台运行容器 
# -v 指定挂载主机目录到容器目录,默认为rw读写模式,ro表示只读

容器列表:

docker ps -a -q 
# docker ps查看正在运行的容器 
# -a 查看所有容器(运行中、未运行) 
# -q 只查看容器的ID 

启动容器:

docker start 容器ID或容器名 

启动所有的容器:

docker start $(docker ps -a -q)

停止容器:

docker stop 容器ID或容器名 

关闭所有的容器

docker stop $(docker ps -a -q)

删除容器:

docker rm -f 容器ID或容器名 
# -f 表示强制删除 

删除所有的容器

docker rm $(docker ps -a -q)

查看日志:

docker logs 容器ID或容器名

进入正在运行容器:

docker exec -it 容器ID或者容器名 /bin/bash 
# 进入正在运行的容器并且开启交互模式终端 
# /bin/bash是固有写法,作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动 bash。 
# 也可以用docker exec在运行中的容器执行命令 

拷贝文件:

docker cp 主机文件路径 容器ID或容器名:容器路径 
#主机中文件拷贝到容器中 docker cp 容器ID或容器名:容器路径 主机文件路径 
#容器中文件拷贝到主机中 

获取容器元信息:

docker inspect 容器ID或容器名
数据卷

查看所有数据卷

docker volume ls

删除指定数据卷

docker volume rm [volume_name]

删除所有未关联的数据卷

docker volume rm $(docker volume ls -qf dangling=true)

从主机复制文件到容器

docker cp host_path containerID:container_path

从容器复制文件到主机

docker cp containerID:container_path host_path
实例:mysql
docker pull mysql:5.7 
docker run --name mysql -p 3306:3306  -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 

推荐阅读