您的位置:首页 > 运维架构 > Docker

Docker实战:镜像与容器基础命令

2017-10-12 09:46 861 查看
1、docker 基本操作命令

su root # 先切换到root用户, 再执行以下命令

systemctl enable docker # 开机自动启动docker

systemctl start docker # 启动docker

systemctl restart docker # 重启dokcer

针对守护进程的系统资源设置和全局信息的获取: docker info  /docker daemon

查看Docker版本: docker version

查看帮助: docker -h

2、docker 对镜像操作命令

docker镜像的搜索:docker search ubuntu

docker镜像的下载: docker pull ubuntu

指定版本号获取镜像: docker pull ubuntu:14.04

指定注册服务器具体地址下载镜像 : docker pull d1.dockerpool.com:5000/ubuntu:12.04

查看镜像列表 : docker images

查看镜像详细信息 : docker inspect a7876479f1aa(镜像id)

根据id删除镜像: docker rmi a7876479f1aa

根据名字删除镜像: docker rmi name

注意:当有该镜像创建的窗口存在时,镜像文件默认是无法被删除的。

如果想强行删除镜像: docker rmi -f ubuntu

基于原有镜像的容器创建镜像

i、启动一个镜像: docker run -it centos:latest /bin/bash

ii、修改容器内容: touch test

iii、退出容器: exit

v、使用commit命令提交一个新的镜像:

docker commit -m "liyuejin add a new file" -a "Docker newbee" 5b89259a66e8 test

参数说明:-a 表示作者信息,-m 表示提交信息,-p提交时暂停容器运行

存出镜像: docker save -o centos.tar centos:latest

载入镜像

i、docker load --input nginx.tar

ii、docker load < centos.tar

上传镜像到仓库: docker push centos:latest

3、docker 对容器操作命令

查看本机上所有容器

i、列出容器:docker ps -a
(如果不带参数默认只列出运行中的容器)

ii、查看最近生成的容器:docker ps -l

iii、查看正在运行的容器:docker ps

v、查看终止状态的容器id: docker ps -a -q

新建并启动容器: docker run -it centos /bin/bash

说明: -t 选项让Docker分配一个伪终端并绑定到容器的标准输入上,-i由让容器的标准输入保持打开。

新建容器 : docker create -it centos:latest (命令将返回一个容器id,create创建的容器处理停止状态)

通过容器id启动容器 : docker start 容器id

以守护态方式运行容器 : docker run -d centos /bin/sh -c "while true;do echo hello world;seleep 1;done"

以守护线程方式启动容器: docker run -itd centos

问题:可以输入exit或ctrl+d退出容器,退出后容器会自动关闭,为什么?

原因:由于只启动了一个终端,当通过exit或ctrl+d退出容器时,所创建的容器立刻终止。

新建并启动容器 : docker run centos /bin/echo 'Hello world'

启动一个bash终端并允许用户进行交互: docker run -t -i centos:latest /bin/bash

查看容器日志: docker logs 容器id

指定id终止容器: docker stop 21f981ffc04c (等待10s后终止)

根据id重启容器: docker restart dc72489ac1e2

使用attach进入容器: docker attach high_hypatia (传id也可以,用exit退出后容器就被关闭了)

使用exec进入容器: docker exec -it 容器id /bin/bash

删除容器: docker rm c7de10971981

强制删除容器: docker rm -f dc72489ac1e2

导出容器

i、通过容器名称导出: docker export pedantic_kare>mycentos.tar

ii、通过容器ID导出: docker export 6c1127fa65d7>testcentos.tar

导入容器: cat test_for_run.tar | docker import - test/ubuntu:v1.0

4、创建和使用私有仓库

docker run -d -p 5000:5000 registry

自动下载并启动一个registry容器,创建本地的私有仓库服务。仓库默认创建在容器的/tmp/registry目录下。可以通过-v参数修改

docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry/ registry

管理私有仓库镜像

docker tag ubuntu:14.04 10.0.2.2:5000:test 添加镜像标记

docker push 10.0.2.2:5000:test 上传指定标记的镜像到仓库

curl http://10.0.2.2:5000/v1/searce 登录仓库查看镜像
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Docker