大家好,本篇文章为大家解答以上问题,相信很多人对docker启动命令都不是特别的了解,因此呢,今天就来为大家分享下关于docker启动命令以及docker镜像启动命令的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
本文目录一览
1、Docker命令全集2、Docker实践之镜像启动及常用命令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 daocloud.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实践之镜像启动及常用命令
前面简单的介绍了如何在Linux中安装 Docker ,这节内容,我们学习Docker镜像启动 我们Docker启动镜像从哪里来呢?镜像由我们自己或者他人构建,构建好的镜像可以直接放在本地或者上传并衡液到远程镜像仓库。当我们运行一个Docker镜像时,会先在本地查找是否存在所要运行的镜像,如果没有则会去远程镜像仓库拉取,默认为官方的镜像仓库,当然,我们也可以改为自己的私有镜像仓库。接下来,我们先了解几个简单的命令。 我们直接在安装好Docker的主机上执行 docker run nginx我们从运行日志可以看到这样的字眼: docker发现本地不存在nginx的镜像文件,便直接去仓库中查找下载并运行,因为我们没有让镜像后台运行,所以这次运行起来的容器会随着这次远程连接断开而停止。当我按下 ctrl+c 时,容器便会停止 如果要让容器后台运行,则拦芦需要在启动时加 -d 这个参数, 我们来看一下当前运行中的容器 可以看到,我们的nginx是启动起来了,但是,我们并不能访问它。容器有自己的一套虚拟系统,如:网络、文件。如果我们需要访问,则需要给容器和宿主机做一个映射,让宿主机和容器能够交互。这里,我们就给nginx增加端口和配置文件映射。我为了省事,就直接把容器中的配置文件复制出来用 接下来,我们便来建立这个映射关系 来看看容器是否启动成功 这时候,我们便能访问我们的nginx服务, 前面已经说到,容器有自己的虚拟系统,如果需要持久化的数据不映射到宿主机上,那么当容器销毁时,数据也会随之丢失,所以,我们在用容器运行时,一定要做好数据的保存方式。 在前面,我们列出了几个常用的Docker命令,这里,我们把这几个常用命令稍微讲解一下, ps主要是查询正常运行的容器 docker ps 是当前正在运行的容器 这里面的 CONTAINER ID 很重要,后面我们的很多操作都需要基于这个 CONTAINER ID 或者 NAMES 。 docker ps -a 则是列出运行中和停止中的所有容器, 这几个参数这是启动/停止/重启/删除容器的参数,如: docker restart 5ae0319e1795 ,如果要删除容器,必须要先停止,否则会提示 docker run [OPTIONS] IMAGE [COMMAND] [ARG…],它的运行参数就比较复杂了, 这里还是只介绍几个常用的命令参数吧, 运行示例 docker run -d --name nginx-cc -v /root/nginx/:/etc/nginx/ -p 9999:80 -m 256M nginx cp命令主要是用于宿主机和容器间的文件复制,一般格式如下: docker cp [OPTIONS] 容器名/容器Id:容器文件路径 宿主机文件路径 从容器复制到宿主机 docker cp [OPTIONS] 宿主机文件路径 容器名/容器Id:容器文件路径 从宿主机复制到容器中 inspect主要是查看容器或者镜像元数据,如:绝物 从返回的信息中,我们可以得到,启动时所设置的启动参数。如: 如果,那天我们忘记之前容器启动的参数时,便可以通过 inspect 来帮我们找回来。 logs主要是查询docker容器的运行日志,如: