Docker 常用命令总结
列出镜像列表
docker images
获取新的镜像
docker pull centos:7.0
查找镜像
docker search httpd
更新镜像
docker commit -m="提交的信息" -a="作者" e218edb10161 更改后的镜像名
删除镜像
docker rmi 49c614fbbea8 Error response from daemon: conflict: unable to delete 49c614fbbea8 (must be forced) - image is referenced in multiple repositories # 这个报错说明它被其他的镜像依赖,所以需要先删除依赖的image [root@FantJ ~]# docker rmi 49c614fbbea8 Error response from daemon: conflict: unable to delete 49c614fbbea8 (must be forced) - image is being used by stopped container ffd74d6603e0 #这个报错说明它被容器所使用,所以需要先删除容器 [root@FantJ ~]# docker rm ffd74d6603e0 ffd74d6603e0 #如果发现它被很多个容器占用,就用批量命令 [root@FantJ ~]# docker rm $(docker ps -a -q) 27298d317f59 955bbef03be9 95889edc40c8 518eff5fed00 c0b7ca7b267b ce5935dfa127 63c212771b1e 906780ebb103 [root@FantJ ~]# docker rmi 49c614fbbea8 Untagged: learn/pingtag:latest Deleted: sha256:49c614fbbea80b328834ecde9a39d8f5bb812c32851e0e5ae39b514642426984 Deleted: sha256:1de562b8b13c8b7af429a9072ef19a35e3c9085a202ffee5ed5c8aef4046cad4
运行容器
我们通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。
[root@FantJ ~]# docker run -i -t REPOSITORY:TAG /bin/bash root@dc0050c79503:/#
REPOSITORY:TAG 表示的是 镜像仓库源:镜像版本标签
在容器中执行ls
在完成操作之后,输入 exit命令来退出这个容器
后台启动
- -d:让容器在后台启动
查看正在运行的容器
[root@FantJ ~]# docker ps
查看容器内控制台打印
[root@FantJ ~]# docker logs id
docker logs -f 7a38a1ad55c6
跟踪查看日志
停止容器
[root@FantJ ~]# docker stop 112f9e089c33
运行容器并设置端口
docker run -d -p 5000:5000 training/webapp python app.py
容器内部的 5000 端口映射到我们本地主机的 5000 端口上。
docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
这样我们就可以通过访问127.0.0.1:5001来访问容器的5000端口
查看 容器端口
docker port 7a38a1ad55c6
查看容器运行进程
docker top determined_swanson
构建镜像
后面章节讲
设置镜像标签
docker tag 860c279d2fec fantj/ip-web:1.0
使用本地配置运行nginx镜像
docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx
-p 80:80:将容器的80端口映射到主机的80端口
--name mynginx:将容器命名为mynginx
-v $PWD/www:/www:将主机中当前目录下的www挂载到容器的/www
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/etc/nginx/nginx.conf
-v $PWD/logs:/wwwlogs:将主机中当前目录下的logs挂载到容器的/wwwlogs
进到docker里的某一服务
docker exec -it id bash
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java 文件流操作.
一、概念 在Java中,文件的输入和输出是通过流(Stream)来实现的。一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是 Internet 上的某个 URL。对于流而言,我们不用关心数据是如何传输的,只需要向源端输入数据,从目的端获取数据即可。 流按照处理数据的单位,可以分为字节流和字符流。字节流的处理单位是字节,通常用来处理二进制文件,例如音乐、图片文件等。而字符流的处理单位是字符,因为Java采用Unicode编码,Java字符流处理的即为Unicode字符,所以在操作汉字、国际化等方面,字符流具有优势。 二、字节流 所有的字节流类都继承自InputStream 和 OutputStream 这两个抽象类,下面列举了5个输入字节流类,输出字节流类和输入字节流类存在对应关系,这个就不一一列举了。 FileInputStream:把一个文件作为输入源,从本地文件系统中读取数据字节,实现对文件的读取操作。 ByteArrayInputStream:把内存中的一个缓冲区作为输入源,从内存数组中读取数据字节。 ObjectInputStre...
- 下一篇
【译】JavaScript如何工作的:一览引擎、运行时和调用栈
随着JavaScript(下文简称js)越来越流行,它在各个层面上都留下了身影:前端、后端、hybrid app、嵌入式设备等。 这篇文章是这个系列中第一个深入挖掘js是如何工作的:我们认为理解了js的底层建筑和运行方式可以使我们写出更好的代码和应用。 总览 应该很多人都听过V8引擎这个概念,也知道js是一个单线程的语言,还有它使用了回调队列。 这篇文章里我们会逐一解析每一个概念并解释js是怎么运行的。 如果你是js的初学者,那么这篇文章会让你了解为什么js比起其他语言会那么的“奇怪”。 如果你是js的高手,它会带给你一些关于你每天使用的js运行时是怎样工作的新颖知识。 JavaScript引擎 一个流行的js引擎是谷歌的V8引擎。它被使用在Chrome和Node.js中。这里简单地描述了他是什么样的: 引擎包含量两大部分: 内存堆(Memory Heap)——内存分配的地方 调用栈——这是你的代码执行时栈帧的位置 运行时 在浏览器中有很多被几乎每一位开发者使用的API(比如setTimeout)。这些API,却并不是引擎提供的。 所以,他们来自哪里? 事实上要复杂一点点。 除了引擎以...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长