Docker常用命令(零)
docker的安装以及镜像,容器,仓库的基本操作
docker的安装(centos7中可以直接yum安装)
yum install –y docker
# 搜索镜像
docker search <image> # 在docker index中搜索image
--automated=false 仅显示自动创建的镜像
--no-trunc=false 输出信息不截断显示
-s 0 指定仅显示评价为指定星级的镜像
# 下载镜像
docker pull <image> # 从docker registry server 中下拉image
还可通过指定标签下载某镜像
docker pull [:TAG]
docker pull centos:7
# 存出和载入镜像
存出本地镜像文件为.tar
docker save -o ubuntu_14.04.tar ubuntu:14.04
导入镜像到本地镜像库
docker load --input ubuntu_14.04.tar或者
docker load < ubuntu_14.04.tar
# 上传镜像
用户在dockerhub网站注册后,即可上传自制的镜像。
docker push NAME[:TAG]
# 创建(使用镜像创建容器):
首先得查看镜像的REPOSITORY和TAG
docker run -i -t REPOSITORY:TAG (等价于先执行docker create 再执行docker start 命令)
其中-t选项让docker分配一个伪终端并绑定到容器的标准输入上, -i则让容器的标准输入保持打开。若要在后台以守护态(daemonized)形式运行,可加参数-d
启动容器。 docker run -t -i nginx /bin/bash #nginx为容器
exit退出容器
docker attach [container_id] #连接一个正在运行的container实例(即实例须为start状态,可以多个 窗口同时attach 一个container实例),但当某个窗口因命令阻塞时,其它窗口也无法执行了。
exec可直接在容器内运行的命令。docker exec -ti [container_id] /bin/bash
# 删除容器:
docker rm <container...> #:删除一个或多个container
docker rm `docker ps -a -q` #:删除所有的container
docker ps -a -q | xargs docker rm #:同上, 删除所有的container
docker -rm
-f 强制中止并运行的容器
-l 删除容器的连接,但保留容器
-v 删除容器挂载的数据卷
# 修改容器:
docker commit <container> [repo:tag] # 将一个container固化为一个新的image,后面的repo:tag可选。
# 导入和导出容器:
导出到一个文件,不管是否处于运行状态。
docker export CONTAINER > test.tar
导入为镜像:
cat test.tar | docker import - centos:latest
docker启动命令,docker重启命令,docker关闭命令
启动 systemctl start docker
守护进程重启 sudo systemctl daemon-reload
关闭docker服务 systemctl restart docker
重启docker服务 sudo service docker restart
没有报错就说明关闭和重启成功!
docker start/stop/restart <container> #:开启/停止/重启container
停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
docker ps -a -q 查看全部的容器id
-a标志列出所有容器,-q标志只列出容器的ID,然后传递给rm命令
删除全部image的: docker rmi $(docker images -q)
docker rmi <image ID>: # 删除一个或多个image
docker images # 查看本地镜像dockerimages
# 启动一个已经停止的容器dockerstart 容器ID# 重启一个容器docker restart 容器ID
# 进入一个运行中的容器dockerattach 容器ID
docker rmi 镜像名
# 删除所有镜像docker rmi $(docker images| grep -v RESPOSITORY |awk'{print $3}')
# 构建容器dockerbuild -t 镜像名称 .# 后面的. 指的是当前文件夹 (其实是Dockerfile存放的文件夹)# 建立映像文件。–rm 选项是告诉Docker,在构建完成后删除临时的Container,Dockerfile的每一行指令都会创建一个临时的Container,一般这些临时生成的Container是不需要的docker build --rm=true-t loen/lamp .
强制删除容器:docker -rm -f CONTAINERID
不能够删除一个正在运行的容器,会报错。需要先停止容器。
强制删除镜像:docker -rmi -f IMAGEID
# 删除容器docker rm 容器ID# 删除所有容器docker rm $(docker ps-a)
# 查看历史dockerhistory镜像ID
# 导出容器dockerexport容器ID > xxx.tar
docker save???
# 把 mynewimage 镜像保存成 tar 文件dockersave myimage | bzip2 -9-c> /home/save.tar.bz2
# 加载 myimage 镜像bzip2-d-c < /home/save.tar.bz2 | docker load
sudo docker inspect 74eb50b00a3a 查看ip为74容器的详细信息
获取所有容器名称及其IP地址:
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
docker rename old_name new_name更改容器的名称????
docker info
显示 Docker 系统信息,包括镜像和容器数。?!!