docker常用命令(镜像+容器相关命令)


一、镜像相关命令:

镜像:Docker镜像是由文件系统叠加而成(是一种文件的存储形式);是docker中的核心概念,可以认为镜像就是对某些运行环境或者软件打的包,用户可以从docker仓库中下载基础镜像到本地,比如开发人员可以从docker仓库拉取(下载)一个只包含centos7系统的基础镜像,然后在这个镜像中安装jdk、mysql、Tomcat和自己开发的应用,最后将这些环境打成一个新的镜像。开发人员将这个新的镜像提交给测试人员进行测试,测试人员只需要在测试环境下运行这个镜像就可以了,这样就可以保证开发人员的环境和测试人员的环境完全一致。

1.1 查看镜像:

docker images

REPOSITORY:镜像名称
TAG:镜像标签
IMAGE ID:镜像ID ;
CREATED:镜像的创建日期
SIZE:镜像大小

1.2 搜索镜像:

docker search 镜像名称

NAME:镜像名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

1.3 拉取镜像:

docker pull 镜像名称
docker pull 镜像名称:版本号(若不指定则会拉取最新的版本)

# 如拉取centos 7; 
docker pull centos:7 

1.4 删除镜像:

docker rmi 镜像id

删除全部镜像:docker rmi ` docker images -q ` (慎用)

二、容器相关的命令

2.1 查看正在运行的容器:

docker ps

2.2 查看所有容器:

docker ps -a

2.3 创建并启动容器

可以基于已有的镜像来创建和启动容器:docker run

-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
--name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

2.3.1 创建并启动交互式容器:

启动交互式容器之后是直接进入容器终端;可以查看容器的文件结构;使用exit命令则会退出终端并且停止容器。

# 先拉取一个镜像;这一步不是每次启动容器都要做的,而是因为前面我们删除了镜像,无镜像可用所以才再拉取一个 
docker pull centos:7 

#创建并启动名称为 mycentos7 的交互式容器;下面指令中的镜像名称 centos:7 也可以使用镜像id 
docker run -it --name=mycentos7 centos:7 /bin/bash 

2.3.2 守创建并启动护式容器

创建一个守护式容器;如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。命令如下(容器名称不能重复):

创建并启动守护式容器

docker run -di --name=mycentos2 centos:7

2.4 登录进入容器:

docker exec -it 容器名称 (或者 container_id) /bin/bash
例子1:docker exec -it 927b54db4397 bash
例子2:docker exec -it mycentos2 /bin/bash

2.5 容器拷贝 docker cp

操作步骤:
本机根目录下创建文件: touch abc.txt

docker cp abc.txt mycentos7:/ 把本机的abc.txt复制到 mycentos7的根目录下
docker exec -it mycentos7 /bin/bash 进入mycentos7
ll 查看文件是否复制成功

touch cba.txt 在mycentos7 中创建 1个cba.txt 文件
docker cp mycentos7:/cba.txt /本机路径 在本机中复制cba.txt到本机下

2.6 停止正在运行的容器:

docker stop 容器名称或者ID

2.7 启动已运行过的容器:

docker start 容器名称或者ID

2.8 查看容器ip :

在linux宿主机下查看 mycentos3 的ip :
docker inspect mycentos3

2.9 容器删除:只能删除停止状态的容器;

docker rm 容器名称或者容器id
docker rm `docker ps -a -q` 删除所有的容器(慎用)

小结

守护式容器在启动之后会一直在后台运行,即使进入容器之后执行exit命令也不会停止容器;
适用于需要长期运行容器的情况


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM