常用Docker命令
1、镜像操作
获取镜像
docker pull NAME[:TAG] #如果不显示指定TAG,默认选择latest标签 查看本地所有镜像
docker images 查看镜像详细信息
docker inspect IMAGE_ID 从Docker Hub查找镜像
docker search TERM
使用已有镜像的容器创建镜像
docker commit [OPTIONS] CONTAINER[REPOSITORY[:TAG]] #-a,--author=""作者信息 -m,--message=""提交消息 -p,--pause=true提交时暂停容器运行
使用Dockerfile创建镜像
docker build -t NAME[:TAG] DOCKERFILE_PATH # .表示当前目录 -t指定镜像的标签信息 使用本地模板导入
cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04 删除本地一个或多个镜像
docker rmi IMAGE [IMAGE...] #IMAGE为标签或ID -f参数强制删除 保存和加载镜像(将机器a的镜像迁移到机器b上)
# 机器a
docker save IMAGE > /home/save.tar #IMAGE为标签或ID
# 使用scp将save.tar拷到机器b上
scp -P save.tar root@172.33.5.11:/home/
# 机器b
docker load < /home/save.tar 上传镜像
docker push NAME[:TAG]
2、容器操作
查看容器日志
docker logs CONTAINER #CONTAINER为容器名或ID -f跟踪日志输出 查看正在运行的容器
docker ps #-a为查看所有容器 -l最近一次启动的容器 -q显示容器编号
运行一个新容器,同时为它命名、端口映射、文件夹映射
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] #-t分配伪终端并绑定到标准输入上,-i保持准备输入打开,-d守护态运行
docker run --name centos7 -p 8081:8080 -d -v /z/docker/files:/docker/files local/centos
进入容器
docker exec -ti CONTAINER /bin/bash #启动一个伪终端以交互式的方式进入容器 停止、启用、杀死、重启一个容器
docker stop|start|kill|restart CONTAINER 删除容器
docker rm CONTAINER #删除单个容器 -f强制删除
docker rm $(docker ps -a -q) #删除所有容器 导出导入容器
docker export CONTAINER > save.tar
docker import save.tart NAME[:TAG]
3、数据管理
在容器内创建一个数据卷
docker run -d -P --name web -v /webapp training/webapp python app.py #使用training/webapp镜像创建一个Web容器,并创建一个数据卷挂载到容器的/webapp目录 挂载一个主机目录作为数据卷
docker run -d -P --name web -v /src/webapp:/opt/webapp:ro training/webapp python app.py #加载主机的/src/webapp目录到容器的/opt/webapp目录,权限为只读 挂载一个本地主机文件作为数据卷(不推荐,使用文件编辑工具可能会造成文件inode的改变,导致报错误信息)
docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash 数据卷容器
、docker run -it -v /dbdata --name dbdata ubuntu #创建数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata
、docker run -it --volumes-from dbdata --name db1 ubuntu #创建db1容器,并从dbdata容器挂载数据卷 利用数据卷容器迁移数据
docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata #备份dbdata数据卷容器内的数据卷
docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar #恢复数据到容器
4、网络基础配置
端口映射实现访问容器
docker run -d -P training/weapp python app.py #随机映射一个49000~49900端口到容器内部开放的网络端口
docker run -d -p 5000:5000 -p 3000:80 training/webapp python app.py #将本地的5000、3000端口分别映射到容器的5000、80端口 容器互联实现容器间通信
docker run -d -P --name web --link db:db training/webapp python app.py #--link参数的格式为--link name:alias,其中name是要链接的容器名称,alias为这个连接的别名
常用Docker命令的更多相关文章
- 安装Docker和下载images镜像和常用Docker命令
我的是centos7,也会6的方法: $sudo yum install docker 直接yum安装contos7使用centos6.5先获取epel源并 启动Docker,并注册开机服务 [roo ...
- Docker 共有 13 个管理命令和 41 个通用命令,以下是常用 Docker 命令列表
开发人员一直在努力提高 Docker 的使用率和性能,命令也在不停变化.Docker 命令经常被弃用,或被替换为更新且更有效的命令,本文总结了近年来资深专家最常用的命令列表并给出部分使用方法. 目前, ...
- 常用docker命令备忘录
查看镜像 docker images 查看运行中的容器 docker ps 删除镜像 docker rmi 容器id 直接删除所有镜像 docker rmi `docker images -q` 直接 ...
- Docker 入门 到部署Web 程序- (阿里面试常用的docker命令和优点)
最近阿里的面试官问我Docker是做什么用的,我记得之前360和美团,京东的都问过,但是一直没时间看,最近有时间了,系统的学习了一下Docker,在此做一下记录,方便各位看官学习交流 一.Docker ...
- docker专题(2):docker常用管理命令(上)
http://segmentfault.com/a/1190000000751601 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备 ...
- Docker 容器安装及常用基础命令
为什么用docker 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势. Docker 在如下几个方面具有较大的优势: 更快速的交付和部署 Docker在整个开发周期都可以 ...
- docker常用管理命令
本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: 容器生命周期管理 — docke ...
- docker搭建环境的时候常用的命令有哪些
1.docker搭建环境的时候常用的命令有哪些 docker如果要删除镜像,现在停止container docker ps 查询正在运行的镜像docker stop +containerid停止后再删 ...
- Docker介绍,安装和常用的命令
Docker是Google公司推出的Go语言开发的,基于Linux内核的cgroup,namespace,AUFS类的UnionFS等技术.对进程进行封装格力,属于操作系统层面的虚拟化技术.隔离的进程 ...
随机推荐
- Windows batch file
Echo off @ECHO OFF echo string to generate the output create a blank line echo . create a file echo ...
- 给jumpserver双机配置glusterfs共享复制卷
为什么要使用glusterfs呢. 本身Haproxy+Keepalived对jumpserver进行了负载均衡和反向代理.但是真实的视频只会存储在一个节点上 否则播放视频的时候会出现找不到的情况 为 ...
- dd/MMM/yyyy:hh:mm:ss +0800日期格式的转化
private static void myHandler() throws ParseException { String dtime1 = "23/Apr/2019:04:08:00 + ...
- mvc项目远程发布到windows server服务器
1.安装IIS的时候需要将这两个选项勾选起来 2.确保 管理服务委派 这个选项存在 3.添加委派规则 4.配置IIS管理用户,后续需要用这个用户进行发布连接 5.配置站点的IIS权限 选择刚才在前面设 ...
- 安装lnmp1.5,搬迁Laravel项目到服务器笔记
近期有个Laravel开发项目,需要搬到CentOS服务器做测试. 先说下项目的配置: Laravel版本5.5 --确定了php7.0以上: CentOS 7.0或以上. lnmp 1.5版 以下是 ...
- element-ui 点击获取table的行索引
<el-table :data="list" v-loading.body="listLoading" element-loading-text=&quo ...
- 使用Visual Studio Code开发(编译、调试)C++程序
总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了 ...
- windows 8.1 启用hyper-v导致vmware 无法使用的问题解决方案(兼顾WP8.1模拟器和vmware)
最近搭建了windows phone 8.1开发环境,为了开机就可以进行WP8.1开发,就使用了 bcdedit /set {BCD ID} hypervisorlaunchtype auto 命令将 ...
- 分布式job-任务调度(一)
什么是任务调度: 任务调度:在单位时间内,去调用某个方法或者执行某段代码 java实现方式: 方法一(使用线程实现): public static void ThreadTskScheduling() ...
- ArcGIS紧凑型缓存存储格式分析
by 蔡建良 2018-8-24 网络中我看到的网文将bundle存储切片数据的方式都没说清或是说错.按照错误方法一样可以在桌面浏览,但在arcgis for android却无法浏览. bundlx ...