巩固一下yum:
yum本身是centos自带的软件,可以删掉然后再重新安装。
yum本身可以配置yum源,网络的,本地的都可以。之后安装docker需要配置一个扩展源。
从163的网址里边下载好repo文件
放入到这个目录下,也就是说你自己连repo都不用配置了。
/etc/yum.repos.d/
执行yum makecache生成缓存
安装EPEL源:
EPEL本身也是一个软件包,可以提供CentOS的更多软件
其实上面安装的那个包就是在你系统/etc/yum.repos.d/下释放了2个yum源的repo文件而已:
/etc/yum.repos.d/epel.repo
/etc/yum.repos.d/epel-testing.repo
安装docker:
yum -y install docker-io
service docker start
chkconfig docker on
启动docker也有两种方法,一种是service 一种是docker -d
前者有点像后台运行,把他当作一个服务,后者有点像前台运行,就是手部运行。
启动时候可能会报错,可能需要安装这个包:
yum upgrade device-mapper-libs
docker -v 查看docker版本
docker images 查看镜像,docker安装好之后会有一个默认镜像
docker search centos 查找centos的镜像
docker pull 这个pull就是pull你search出来的镜像的名称,比如danjawwi/centos
docker run -it 镜像ID /bin/bash
/bin/bash 就是启动一个伪终端进行交互,-it就是交互模式。
docker ps 显示正在运行中的container
docker ps -a 显示所有的container,包括未运行的
退出一个容器,是exit或者使用ctrl+d
一旦退出了一个容器,这个容器就将停止运行
docker commit 命令:
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]Create a new image from a container's changes -a, --author="" Author (e.g., "John Hannibal Smith <hannibal@a-team.com>") -m, --message="" Commit message -p, --pause=true Pause container during commit
示例:提交当前container为一个image
root@docker# docker commit -a "Tanky Woo <me@tankywoo.com>" f1fd375204af ubuntu:test
docker attach 命令:
先看看现有容器:
root@docker# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e2e6c95f0bf5 ubuntu:test /bin/bash 11 minutes ago Exited (0) 11 minutes ago suspicious_mccarthy
这个容器已经被退出了,那么我们将他启动起来:
root@tankywoo-docker:~# docker start e2e6c95f0bf5
看看它是不是已经在运行了:
root@docker# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e2e6c95f0bf5 ubuntu:test /bin/bash 11 minutes ago Up 2 seconds suspicious_mccarthy
attach这个container:
root@docker# docker attach e2e6c95f0bf5
进入了container:
root@e2e6c95f0bf5#
export import 和 save load
export 和 import 是针对container的操作,
export、import无法保存容器的tag,也就是说无法回滚。
save 和 load 是针对镜像的操作,可以回滚。
export:
sudo docker export 7691a814370e > ubuntu.tar
sudo docker export 7691a814370e > /u01/docker-image-tar/ubuntu.tar
是支持直接指定目录的
import:
1 docker import url | - repository[:tag]
2 cat export.tar | docker import - imported-nginx:latest
3 docker import http://example.com/export.tar
示例:
1
2 cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0
3 docker import http://example.com/export.tar
save:
docker save dan-image > /tmp/dan-image.tar
load:
docker load < /tmp/dan-image.tar
生成image的名称就是dan-image,如果你是danjawwi-image.tar就是danjawwi-image