Docker系列教程3常用操作命令
上次分享了Docker的一些入门知识点和docker的安装,这次主要讲docker的常用操作命令。 Docker使用镜像常用命令1. 获取镜像docker pull ubuntu:14.04 docker pull ubuntu #默认从registry.hub.docker.com中获取 docker pull hub.c.163.com/public/ubuntu:14.04#从网易蜂巢下载镜像 docker run -d -p 80:80 --name webserver nginx#没有镜像会先下载2.查看镜像信息docker images docker inspect ubuntu:13.10 docker history ubuntu3.查找镜像docker search TERM docker search centos docker search nginx4.删除镜像docker rmi IMAGE docker rmi ubuntu:13.10 docker rmi -f ubuntu:13.10#强制删除镜像5.创建镜像的三个方法1.基于已有镜像的容器创建docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] # docker run -it ubuntu:14.04 /bin/bash root@cd391ad59121:/# 记住容器ID:cd391ad59121提交新的镜像: docker commit -m "added a new file lxxxx" -a "jishubu lxx" cd391ad59121 test:0.1 查看: # docker images REPOSITORY TAG IMAGE ID CREATED SIZE test 0.1 b2ac4664aadb 16 seconds ago 188 MB2.基于本地模板导入
从一个操作系统模板导入一个镜像 cat centos-6-x86_64-minimal.tar.gz |docker import - centos6min3.基于Dockerfile创建FROM docker.io/0702/centos7 MAINTAINER star ENV TZ "Asia/Shanghai" ENV TERM xterm #新建用户和用户组 RUN groupadd www && useradd -g www www 等等
6.保存和导出镜像
保存:docker save docker save : | gzip > _.tar.gz docker save -o ubuntu_14.04.tar ubuntu:14.04
通过文件将镜像复制给他人
导入:docker load docker load < ubuntu_14.04.tar
导入镜像 gunzip -c _.tar.gz | docker load
7.上传镜像
使用 docker push 默认上传到docker hub官方 docker pust NAME[:TAG] |[REGISTRY_HOST[:REGISTRY_PORT ] /] NAME[:TAG]Docker操作容器常用命令一、创建容器1.新建容器docker create --help docker create -it ubuntu:latest
create、run命令支持选项都非常复杂 2.启动容器docker start NAMES3.创建并启动容器docker run ubuntu:15.10 /bin/echo "hello world" docker run -it ubuntu:15.10 /bin/bash docker run -v /data/mysql:/var/lib/mysql -p 61920:3306 --name mariadb -d mariadb:latest docker run -d --name myFpm -p 9000:9000 -v /data/wwwroot/web:/usr/share/nginx/html bitnami/php-fpm docker run -d --name myNginx -p 80:80 -v /data/wwwroot/web:/usr/share/nginx/html -v /data/wwwroot/log:/var/log/nginx nginx
-i 分配一个伪终端并绑定到容器的标准输出上-t 容器的标准输入保持打开-p 表示Docker 镜像内部容器端口暴露给主机-v标识来给容器内添加一个数据卷,你也可以在一次docker run命令中多次使用-v标识挂载多个数据卷 4.守护态运行docker run -d ubuntu:15.10 /bin/sh -c "while true;do echo hello world; sheep 1;done"5.查看容器docker ps -l docker logs NAMES #显示容器的标准输出 docker top NAMES #docker top 来查看容器内部运行的进程
二、停止、启动、重启容器docker stop NAME docker start NAME docker restart NAME三、进入容器1、 exec命令(推荐)docker exec -it lxx-wordpress /bin/bash2、attach 命令(不推荐)# docker run -itd ubuntu:14.04 522681d4c41c7c34ad04779e83253352d1080e85eb9c8f2d1e25f81758379d19 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 522681d4c41c ubuntu:14.04 "/bin/bash" 12 seconds ago Up 10 seconds distracted_perlman # docker attach distracted_perlman root@522681d4c41c:/#3、nsenter工具
需要安装软件,不推荐 四、删除容器docker rm NAMES docker rm -f NAMES #强制删除五、导入和导出容器
1.导出容器 -docker export # docker run -itd ubuntu:14.04 /bin/bash # docker export -o test_for_run.tar loving_bohr
2.导入容器 docker import docker import test_for_run.tar test/ubuntu:v1.0 docker images REPOSITORY TAG IMAGE ID CREATED SIZE test/ubuntu v1.0 69f170a40e6f 6 seconds ago 175.1 MB
Docker save load export import的区别export
export命令用于持久化容器(不是镜像)。所以,我们就需要通过以下方法得到容器ID: sudo docker ps -a 接着执行导出: sudo docker export > /home/export.tarsave
Save命令用于持久化镜像(不是容器)。所以,我们就需要通过以下方法得到镜像名称: sudo docker images 接着执行保存: sudo docker save busybox-1 > /home/save.tar
使用export比使用save保存的文件要小一些 load save
两者的使用方法是一样的,导入压缩包生成镜像 docker import - busybox-1-export:latest
docker import可以重新指定镜像的名字 docker load < /home/save.tar
它们之间到底存在什么不同呢?
首先,docker import可以重新指定镜像的名字,docker load不可以
其次,我们发现导出后的版本会比原来的版本稍微小一些。那是因为导出后,会丢失历史和元数据。执行下面的命令就知道了:显示镜像的所有层(layer) sudo docker images --tree
执行命令,显示下面的内容。正你看到的,导出后再导入(exported-imported)的镜像会丢失所有的历史,而保存后再加载(saveed-loaded)的镜像没有丢失历史和层(layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚(可以执行docker tag 来回滚之前的层)。
常用命令图
有牛人总结了docker的操作命令,看图:
总结一下常用命令
其中<>阔起来的参数为必选,[]阔起来为可选 docker version 查看docker的版本号,包括客户端、服务端、依赖的Go等 docker info 查看系统(docker)层面信息,包括管理的images, containers数等 docker search 在docker index中搜索image docker pull 从docker registry server 中下拉image docker push 推送一个image或repository到registry docker push :TAG 同上,指定tag docker inspect 查看image或container的底层信息 docker images TODO filter out the intermediate image layers (intermediate image layers 是什么) docker images -a 列出所有的images docker ps 默认显示正在运行中的container docker ps -l 显示最后一次创建的container,包括未运行的 docker ps -a 显示所有的container,包括未运行的 docker logs 查看container的日志,也就是执行命令的一些输出 docker rm 删除一个或多个container docker rm `docker ps -a -q` 删除所有的container docker ps -a -q | xargs docker rm 同上, 删除所有的container docker rmi 删除一个或多个image docker start/stop/restart 开启/停止/重启container docker start -i 启动一个container并进入交互模式 docker attach attach一个运行中的container docker run 使用image创建container并执行相应命令,然后停止 docker run -i -t /bin/bash 使用image创建container并进入交互模式, login shell是/bin/bash docker run -i -t -p 将container的端口映射到宿主机的端口 docker commit [repo:tag] 将一个container固化为一个新的image,后面的repo:tag可选 docker build 寻找path路径下名为的Dockerfile的配置文件,使用此配置生成新的image docker build -t repo[:tag] 同上,可以指定repo和可选的tag docker build - 使用指定的dockerfile配置文件,docker以stdin方式获取内容,使用此配置生成新的image docker port 查看本地哪个端口映射到container的指定端口,其实用docker ps 也可以看到
中南传媒2022年前三季度净利润10。71亿元同比增长5。94中证智能财讯中南传媒(601098)10月28日披露2022年第三季度报告。2022年前三季度,公司实现营业总收入86。92亿元,同比增长11。27归母净利润10。71亿元,同比增
霜降时节祝福大全霜降时节祝福短信1今日霜降,福运财运双双降临,平安快乐双双降临,幸福健康双双降临,短信通知你,第一个带你到达降临之地,从此好运好事成双,心情愉悦舒爽,幸福快乐徜徉!2霜降来临,一条
理则顿悟,乘悟并销,事非顿除,因次第尽当一个人彻悟的时候,他身上的习性一点点地消散了,只有靠自己内心的力量,才能去除身上不好的习惯。人这一生最大的任务就是了解自己,所有的情绪都来源于自己的内心,首先要学会静下心来去了解
20句鞭策自己的精选短句,令人奋发向上,一直向前1答应自己,看得开些,不要去在乎一些没必要的人和事。2人生的路,难与易都得走。生活从未变得容易,只不过是让我们变得更加坚强。3人生没有假设,当下即是全部。与其埋怨,不如思变。4人生
把时光揉成信,把苦乐集为书雲姑寄世书鹤来青城山上,有我一故人。山上的雾气带着清晰的泥土味,浓郁的在林子里四散开,故人遣鹤衔信而来,是的,我称她为故人。曾经读过居山而行,她笔下的青城山散发着让人安神静气的效果
二八法则,成功关键成功从来都不是一蹴而就的,世界上80的财富被掌握在20的人手中。20的人用脖子以上来挣钱,80的人用脖子以下赚钱。20的人正面思考着,80的人负面思考着。20的人买时间,80的人卖
阅读让我蜕变我曾经也讨厌阅读,因为记不住书中讲了些什么,觉得是在浪费时间。这样的认知,导致我对阅读渐行渐远。直到有一天我才突然发觉,原来是我的想法有问题,而不是书籍太难。转变观念需要时间。那时
诚志股份2022年前三季度净利润3145。08万元同比下降97。15中证智能财讯诚志股份(000990)10月28日披露2022年第三季度报告。2022年前三季度,公司实现营业总收入93。20亿元,同比下降2。68归母净利润3145。08万元,同比
华岭股份2022年前三季度净利润5417。82万元同比下降7。79中证智能财讯华岭股份(430139)10月28日披露2022年第三季度报告。2022年前三季度,公司实现营业总收入2。05亿元,同比下降0。59归母净利润5417。82万元,同比下
网达软件2022年前三季度净利润4703。37万元同比下降16。65中证智能财讯网达软件(603189)10月28日披露2022年第三季度报告。2022年前三季度,公司实现营业总收入2。42亿元,同比下降8。64归母净利润4703。37万元,同比下
海螺水泥2022年前三季度净利润124。19亿元同比下降44。53中证智能财讯海螺水泥(600585)10月28日披露2022年第三季度报告。2022年前三季度,公司实现营业总收入853。28亿元,同比下降29。89归母净利润124。19亿元,同