⑴ Docker镜像操作常用指令有哪些
docker version:查看docker版本;
docker info:查看docker详细信息;
docker --help:查看docker命令;
镜像命令
docker images:列出本地主机上的镜像,REPOSITORY:表示镜像的仓库源;TAG:镜像的标签;IMAGE
ID:镜像ID;CREATED:镜像创建时间;SIZE :镜像大小,同一个仓库源可以有多个TAG,可以表示仓库源的不同版本,使用REPOSITORY:TAG来定义不同的镜像;
docker images -a:列出本地所有的镜像;
docker images -p:只显示镜像ID;
docker images --digests:显示镜像的摘要信息;
docker images --no-trunc:显示完整的镜像信息;
docker search tomcat:从Docker Hub上查找tomcat镜像;
容器命令
docker run [OPTIONS] IMAGE:根据镜像新建并启动容器,IMAGE是镜像ID或镜像名称;
docker ps:列出当前所有正在运行的容器;
exit:退出并停止容器;
docker start 容器ID或容器名称:启动容器;
docker restart 容器ID或容器名称:重新启动容器;
docker stop 容器ID或容器名称:停止容器;
docker kill 容器ID或容器名称:强制停止容器;
docker rm 容器ID或容器名称:删除容器;
docker rm -f $(docker ps -a -q):删除多个容器。
⑵ Docker常用命令,值得收藏
使用指定的镜像来运行容器,并可选地在容器中运行指定的命令。
分离模式 :通过 -d 选项指定;容器会在任务(进程)结束时退出。
前台模式 :可以将控制台连接到容器中进程的标准输入、输出、错误;通过 -t 选项可以为其分配一个伪终端;通过 -i 选项可以保持标准输入处于打开状态。
--rm 选项能够在容器退出时自动删除容器。
罗列容器。
-a 选项可以列出所有的容器。
查看容器的详细信息。
查看容器中运行的进程。
持续输出容器的资源使用情况。
查看容器的端口映射。
查看容器的日志(标准输出、错误的内容)。
-f 选项可以持续输出容器的日志。
将本地终端的标准输入、输出、错误连接到容器。
在运行的容器中执行指定的命令。
使用 freezer cgroup 挂起容器中的所有进程(进程对挂起操作是无感知的)。
恢复容器中挂起的进程。
停止容器,终止容器中的进程:首先发送 SIGTERM 信号给容器中的进程,一段时间之后发送 SIGKILL 信号。
启动停止的容器(还是运行之前给定的命令)。
删除指定的容器。
--force 选项可以强制性删除运行的容器。
在容器和主机之间拷贝文件、目录。
将容器的文件系统(不包括卷的内容)导出为 tar 文件,后续可通过 docker import 来加载镜像。
查看所有的顶层镜像。
-a 选项可以查看所有的镜像。
搜索 docker hub。
拉取镜像。
基于源镜像创建一个包含 tag 的镜像。
推送镜像。
从 tar 文件中加载镜像。
保存镜像为 tar 文件,后续可通过 docker load 来加载。
可通过 -o 选项将镜像保存至指定的文件,默认输出到标准输出。
从标准输入或 tar 文件中加载镜像。
-i 选项指定从 tar 文件中加载镜像。
删除本地镜像。如果 IMAGE 包含了 tag,且该镜像具有多个 tags,则此命令只是移除该 tag,而不会删除镜像。
-f 选项可强制删除运行容器所用的镜像。
⑶ docker常用命令
1、 service docker start // 启动docker
2、 docker images // 查看docker所安装的镜像
3、 docker search [name] 查询某个镜像 例如查询mysql docker search mysql
4、 docker pull [name] 拉取某个镜像 例如mysql docker pull mysql
5、 docker pull [name] [:tag] tag版本肢键号 如果不写默认拉取最新的版本
例如: docker pull mysql:5.7
6、 docker rmi [imgaeId] 删除命令,imageId是镜像id
2.1 新建一个新的容器 docker pull centos
2.2 docker run [可选参数] image名字
参数说明
--name="Name" 给容器命名
-d 后台方式运行
-p [主机端口]:[容器端口] 指定容器的端口 例如启动tomcat 命令: docker run -p 8081:8080 tomcat 解释:8081是对外访问(服务器)的端口。8080是docker里面的tomcat端口. tomcat是镜像拉取下来后的名字. 例:若别人访问。IP+8081端口才能访问到tomcat启动的项目
-P 大写P是随机指定端口
-it 与容器交互,就是进入到容器里面
命令: docker run -it [镜像名称] /bin/bash 例子: docker run -it centos /bin/bash
docker ps 查看运行派行中的容器
docker ps -q 只查询运行容器的编号,一般与下面-a合并使用, docker ps -aq
docker ps -a 查看曾经运行过的容器
docker ps -a -n=1 加上-n可以指定查询最近几个运行的容器、
Ctrl+p+q 这样退出就不会停止容器
docker rm -f [容器id] 指定删除某个运行的容器
docker rm -f $(docker ps -aq) 删除全部运行的容器
docker start [容器id] 启动容器
docker restart [容器id] 重启容器
docker stop [容器id] 停止容器
docker kill [容器id] 强制停止容器
docker run -d [镜像名] 例如: docker run -d centos
但是有问题, docker ps 查询不到运行的容器
原因:docker容器用后台运行,就必须要有一个前台进程,docker发现没有应用,所以就自动停止
docker logs -tf --tail 10 [容器id]
t的意思是时间戳,f保留日志打印窗口,tail持续打印,10打印最后10条
docker top [容器id]
docker inspect [容器id]
方式一: docker exec -it [containt_id] /bin/bash // 进入该镜像内部
docker cp [容器id]:[容器路径] [主机路历带巧径]
⑷ Docker命令全集
一:首先来理解三个名词解释:
1、镜像(image)
Docker 镜像(Image)就是一个只读的模板。
例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。
2、仓库(repository)
仓库(Repository)是集中存放镜像文件的场所。
3、容器(container)
Docker 利用容器(Container)来运行应用。容器是从镜像(Image)创建的运行实例。
二:常用的命令集合如下:
容器生命周期管理 — docker
[run|start|stop|restart|kill|rm|pause|unpause|create]
容器操作运维 — docker
[ps|exec|inspect|top|attach|events|logs|wait|export|import|port]
容器rootfs命令 — docker
[commit|cp|diff]
本地镜像管理 — docker
[images|rmi|tag|build|history|save]
镜像仓库 — docker
[login|pull|push|search]
其他命令 — docker
[info|version]
详细命令说明如下:
docker run -d --name alias-Name imageName //在后台启动一个容器
docker start Name/ID //启动容器
docker stop Name/ID //停止容器
docker restart Name/ID //重启容器
docker kill -s KILL Name/ID //杀死一个运行的容器
docker rm /rm -f Name/ID //删除容器
docker pause Name/ID //停止容器
docker unpause Name/ID //恢复容器
docker create --name CONTAINER_Name imageName //只创建容器但不启动
docker ps / docker ps -a //查看运行的容器
docker exec -it CONTAINER_ID /bin/bash //进行一个运行中的容器,开启一个新的终端
docker attach CONTAINER_ID //进行一个运行中的容器,不开启一个新的终端
docker inspect CONTAINER_Name //查看容器的相关信息
docker top CONTAINER_Name //查看容器里面的进程
docker events -f "image"="imageName" --since="1467302400" //时间戳=2016年7月1日后的相关事件
docker logs CONTAINER_Name //查看容器的日志输出
docker wait CONTAINER_Name //阻塞运行直到容器停止,然后打印出它的退出代码
docker export -o test.tar CONTAINER_ID //将容器进行打包保存到本地,文件类型为tar
cat test.tar |docker import - image_name:tag //将上面保存的文件导入到镜像库中
docker port CONTAINER_ID //查看容器的端口映射情况
commit 从容器中创建一个新的镜像
docker commit -a "tony test" -m "my mysql" CONTAINER_ID mymysql:v1
docker images mymysql:v1
cp 在使用的过程中会进行多个主机与容器之间的数据交换
docker cp /ruiqi/content CONTAINER_ID:/ruiqi/
diff 用来检查容器里面文件结构的更改
docker diff CONTAINER_ID
docker images /docker images -a //查看本地的镜像,-a 表示是所有的镜像
docker rmi -f image_name //删除镜像
docker tag mysql:v5.6 mysql:v5.7 //给镜像做一个有别名的复本
docker build -t runoob/ubuntu:v1 . //构建一个镜像
docker history image_name //查看当前这个镜像的 历史 信息
docker save -o TestFlask.tar TestFlask:v3 //将当前的镜像保存到本地的一个tar 类型的文件
docker login //登录镜像仓库
docker pull //从镜像仓库中拉镜像
docker push //向镜像仓库推本地的镜像文件
docker search //检索镜像内容
三:利用dockerfile 制作一个tomcat 运行image:
[root@localhost common]# more Dockerfile.tomcat
FROM cloud.io/centos:7
COPY jdk-8u144-linux-x64.rpm /opt/jdk-8u144-linux-x64.rpm
RUN ["rpm","-ivh","/opt/jdk-8u144-linux-x64.rpm"]
COPY security /usr/java/jdk1.8.0_144/jre/security
COPY certs /etc/pki/tls/certs
COPY tomcat /opt/tomcat
RUN ["ln","-s","/opt/tomcat","/usr/local/tomcat"]
⑸ Docker常用命令大全
基础操作:
1 docker images 查看镜像信息列表 镜像是静态的
2 docker ps -a 查看运行中的所有容器
3 docker pull [images]:[version] 从dockerhub拉取指定镜像
4 docker run -p 8000:80 -tdi --privileged [imageID] [command] 后台启动docker,并指定宿主机端口和docker映射端口。
-i: 以交互模式运行容器,通常与 -t 同时使用;
-d: 后台运行容器,并返回容器ID;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--privileged 容器将拥有访问主机所有设备的权限
通常情况下 [command] 填下 /bin/bash 即可。
特殊情况下,如需要在centos镜像中使用 systemctl . 则应添加 --privileged 并设置[command ]为 init 。
5 当镜像通过run 启动后,便会载入到一个动态的container(容器)中运行,此时若需要进入终端交互模式:
sudo docker exec -it [containerID] /bin/bash
交互模式中,使用 ctrl+p+q退出交互 保持运行,使用 exit命令退出并停止容器。
6 在容器非交互模式下,通过docker start/stop 命令来启动/停止已部署的容器服务。
7 docker rm [containerID] 删除容器
8 docker rmi [imageID] 删除镜像
9 docker cp [YourHostFilePath] [containerID]:[DockerPath] 将宿主机内的指定文件传输至容器内部的指定地址。
镜像制作:
1 docker commit [containerID] [ImageName]:[Version] 将修改后的容器重新打包成镜像
2 docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1 将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
3 docker push [ImageID] [repertory_address] 提交镜像到云仓库
(暂时先记录这些,后续再更新)