首先安装 docker

1、prepare

更改 yum 源加快安装环境,添加下面 yum 源

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=0

 

2、安装

# yum -y install docker-ce
启动一下
# systemctl start docker

 

3、配置

由于国内网络问题,从 docker hub 上下载镜像会经常失败,这时需要配置国内镜像加速

在下面文件添加,如果文件不存在,则新建一个

/etc/docker/daemon.json

{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com"
]
}


 

4、重新启动

# systemctl restart docker
# systemctl enable docker


 

关于镜像

举例说明,比如我想自己制作一个已经安装好 java的 centos docker 镜像。(装啥不重要)

首先我需要一个初始镜像

搜索centos初始镜像:

# docker search python

docker tag 导出镜像 没有 docker导出镜像到本地_docker tag 导出镜像 没有

 

选择你喜欢的基础镜像,把他下载下来。

# docker pull centos/python-35-centos7

docker tag 导出镜像 没有 docker导出镜像到本地_java_02

 

下载完后,查看我当前拥有的可用镜像

# docker  images

docker tag 导出镜像 没有 docker导出镜像到本地_docker tag 导出镜像 没有_03

 

运行镜像,启动容器

# docker run -dit centos/python-35-centos7 /bin/bash

docker tag 导出镜像 没有 docker导出镜像到本地_centos_04

 

查看当前所有容器

# docker ps -a

docker tag 导出镜像 没有 docker导出镜像到本地_docker_05

 

确实centos7容器已经运行,status为up

 

进入容器

# docker exec -it -u root 36916ec8f29c /bin/bash

这里的id 36916ec8f29c 就是上图中的容器的container id

docker tag 导出镜像 没有 docker导出镜像到本地_docker_06

 

 

做你想做的事儿,比如安装java

docker tag 导出镜像 没有 docker导出镜像到本地_java_07

 

退出容器

# exit

docker tag 导出镜像 没有 docker导出镜像到本地_centos_08

 

制作镜像

docker commit -m "详情说明" -a "制作者" 容器ID 所属归类/镜像名称

# docker commit -m "my centos7 with java" -a "laowang" 36916ec8f29c centos7/java_ok

docker tag 导出镜像 没有 docker导出镜像到本地_centos_09

 

查看制作成功的镜像

# docker images

docker tag 导出镜像 没有 docker导出镜像到本地_docker tag 导出镜像 没有_10

 

 

将我刚才制作好的镜像导出到本地

docker save 镜像名字:版本号  -o  路径/名字.tar

# docker save centos7/java_ok -o /home/java_ok.tar

docker tag 导出镜像 没有 docker导出镜像到本地_docker_11

 

 

这就是我们要的java镜像,如果我想启动这个镜像,只需要将其再次加载到docker中,就可以直接启动了。

找一个新的docker环境,加载刚才制作的本地镜像

# docker load -i /home/java_ok.tar

docker tag 导出镜像 没有 docker导出镜像到本地_docker tag 导出镜像 没有_12

 

查看镜像

# docker images

docker tag 导出镜像 没有 docker导出镜像到本地_docker tag 导出镜像 没有_13

 

运行镜像,启动容器

# docker run -dit centos7/java_ok /bin/bash

docker tag 导出镜像 没有 docker导出镜像到本地_centos_14

 

 

进入容器,查看是否装有java

 

docker tag 导出镜像 没有 docker导出镜像到本地_docker_15

 

成功