Docker——常用命令(镜像相关命令,容器相关命令:启动,拷贝,目录挂载,删除等等)
Posted wangcuican
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker——常用命令(镜像相关命令,容器相关命令:启动,拷贝,目录挂载,删除等等)相关的知识,希望对你有一定的参考价值。
上一篇文章写的是Docker的安装和启动,启动了Docker我们可以进行镜像的安装了,镜像就是包含各种应用的操作系统。
一、镜像相关命令
1.搜索镜像
命令行的方式: docker search python #搜索关于python的镜像 在网站搜索: https://hub.docker.com/ #一般在网站上搜索方便看,搜索好之后再安装
搜索关于带python的Docker
2.下载镜像
docker pull centos:centos7.7.1908 #指定下载centos7.7.1908版本的 docker pull centos #没有指定版本就下载最新版本
3.查看下载的镜像
docker images
REPOSITORY:镜像名称
TAG:镜像标签
IMAGE ID:镜像ID
CREATED:镜像的创建日期
SIZE:镜像大小
这些镜像都是存储在Docker宿主机的/var/lib/docker目录下
4.删除镜像:
docker rmi id号 #根据id号来删除镜像
删除所有镜像
docker rmi ‘docker images -q‘
二、容器相关命令
1.启动容器(基于image启动)
创建容器命令:docker run
创建容器常用的参数说明:
-i:表示运行容器 -t:表示容器启动后会进入其命令行。加入这两个参数后(/bin/bash),容器创建就能登录进去。即分配一个伪终端。 --name :为创建的容器命名。 -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。 -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。 -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
注意:docker run 和 docker exec的差异
docker run :根据镜像创建一个容器并运行一个命令,操作的对象是 镜像; #一般和-id使用 docker exec :进入在运行的容器中执行命令,操作的对象是 容器 #一般和-it使用
守护式方式创建容器:(在后台运行)
docker run -id --name=容器别名 镜像名称:镜像版本
示例:启动centos7
docker run -id --name mycentos7 centos:centos7.7.1908
进入到容器内部:(先用run启动一个容器,然后再用exec进入容器)
docker exec -it 容器名称(或者容器ID) /bin/bash
退出容器:exit
2.停止与启动已有的容器
docker stop 容器id/名字 #停止
docker start 容器id/名字 #启动已经存在的容器
3.查看容器
查看正在运行的容器
docker ps
查看所有容器
docker ps -a
查看最后一次运行的容器
docker ps -l
查看停止的容器
docker ps -f status=exited
4.文件拷贝(重点******)
向里拷贝(从宿主机--->>容器)
docker cp 需要拷贝的文件或目录 容器名称:容器目录
示例:宿主机下的aa文件夹拷贝到容器内的home目录下 (注意:是在宿主机环境下运行)
docker cp aa mycentos7:/home
向外拷贝(从容器内--->> 宿主机) (注意:也是在宿主机里面执行下面命令)
docker cp 容器名称:要拷贝的容器目录 要拷贝到宿主机的文件或目录
示例:容器内的/home/cc.txt拷贝到/home目录下,注意路径书写正确
5.目录挂载(重点******)
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而影响容器内的文件。在宿主机环境下运行
创建容器 添加-v参数 后边为 宿主机目录:容器目录,例如: (-v是做目录映射),不管哪边修改都会互相影响
docker run -id -v /home/test:/home/test --name=mycentos3 centos:centos7.7.1908
进入容器centos3,有映射的文件/home/test/a
6.查看容器ip地址
docker inspect 容器名字/id #会出现一大堆容器信息
可以直接查找ip地址
docker inspect --format=‘{{.NetworkSettings.IPAddress}}‘ 容器名称(容器ID)
7.删除容器(必须先stop容器才能删除)
docker rm 容器名称(容器ID)
以上是关于Docker——常用命令(镜像相关命令,容器相关命令:启动,拷贝,目录挂载,删除等等)的主要内容,如果未能解决你的问题,请参考以下文章