Motang的网络日志

目录

1. 安装

CentOS6 对于CentOS6,可以使用EPEL库安装Docker,命令如下 $ sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm $ sudo yum install docker-i

CentOS7 CentOS7系统CentOS-Extras库中已带Docker,可以直接安装: $ sudo yum install docker 安装之后启动Docker服务,并让它随系统启动自动加载。 $ sudo service docker start $ sudo chkconfig docker on

2. 获取镜像,获取最新的centos

docker pull centos 上述命令实际上相当于$ sudo docker pull registry.hub.docker.com/centos

3. 列出本地镜像

使用docker images显示本地已有的镜像。在列出信息中,可以看到几个字段信息 来自于哪个仓库,比如ubuntu 镜像的标记,比如 14.04 它的ID号(唯一) 创建时间 镜像大小

4. 创建镜像

创建镜像有很多方法,用户可以从Docker Hub获取已有镜像并更新,也可以利用本地文件系统创建一个。

  1. 修改已有镜像: docker run -t -i ubuntu:14.04 /bin/bash 当结束后,我们使用exit来退出,现在我们的容器已经被我们改变了,使用docker commint命令来提交更新后的副本。 在当前目录根据 Dockerfile 构建容器[这条命令适用于在一个container中创建了HTTPD或者Nginx服务,-p下面映射端口发布出来。] docker run -i -t - p 2013:80 运行一个 Container,支持的参数: -d Detached 或者 daemon mode,后台运行。 -i -t 开一个putty 终端,保持交互模式,这两个一般共同使用。 -e 设置环境变量参数,参考 Install GitLab With Docker -p [host_port]:[container_port] 映射 HOST 端口到容器,方便外部访问容器内服务,host_port 可以省略. -v [host-path]:[container-path] 把 HOST 文件夹挂载到 Container 用以保存数据。 –rm 自动删除已运行存在的相同 IMAGE 的容器。 docker commit -m “Added json gem” -a “Docker Newbee” 0b2616b0e5a8 ouruser/sinatra:v2 4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c 其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的ID;最后指定目标镜像的仓库名和tag信息。创建成功后会返回这个镜像的id信息。

  2. 利用dockerfile 来创建镜像 用docker build 来创建一个新的镜像。为此,首先需要创建一个dockerfile,包含一些如何创建镜像的指令。 新建一个目录和一个dockerfile

5. 存出和载入镜像

存出镜像 docker save 例如:docker save -o ubuntu_14.04.tar ubuntu:14.04 载入镜像 docker load 例如:docker load –input ubuntu_14.04.tar 或 docker load < ubuntu_14.04.

6. 移除本地镜像

使用docker rmi命令 例如:docker rmi training/sinatra *注意:在删除镜像之前要先用docker rm删掉依赖于这个镜像的所有容器。 意docker rm命令是移除容器

7. 启动容器

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。

  1. 新建并启动,所需要的命令主要为docker run: 例如: docker run -t -i 70214e5d0a90 /bin/bash 其中,-t选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i则让容器的标准输入保持打开。
  2. 启动已终止容器,用docker start命令, 例如: docker start 70214e5d0a90
  3. 终止容器 docker stop 70214e5d0a90
  4. 进入容器 docker attach 70214e5d0a90
  5. 导出和导入容器 使用docker export命令导出容器 例如: docker export 70214e5d0a90 > centos7.tar 使用docker import从容器快照文件中再导入为镜像 例如:cat centos7.tar | sudo docker import - test/centos7:v1.0 此外,也可以通过指定URL或者某个目录来导入,例如:ocker import http://example.com/exampleimage.tgz example/imagerepo
  6. 删除容器 使用docker rm来删除一个处于终止状态的容器 例如:docker rm trusting_newton 如果要删除一个运行中的容器,可以添加-f参数。Docker会发送SIGKILL信号给容器。

8. 仓库

Docker官方维护了一个公共仓库 https://hub.docker.com/ 国内镜像 www.dockerpool.com

登录-可以通过执行docker login命令来输入用户名、密码和邮箱来完成注册和登录。 注册成功后,本地用户目录的.dockercfg中将保存用户的认证信息。 通过docker search命令来查找官方仓库中的镜像,例如: docker search centos7 www.dockerpool.com

© 2015 Morly Tang. All Rights Reserved.

版权归属:寂寞的男人