Docker 是一个开源的应用级别的虚拟化工具,可以将任何应用包装在"LXC容器”中运行。
任务大纲
1、安装与配置 Docker(耗时:10min ~ 20min)
2、Docker 的简单操作(耗时:10min ~ 20min)
一、安装与配置 Docker
操作系统介绍[root@VM_1_64_centos ~]# uname -a
Linux VM_1_64_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64x86_64 GNU/Linux
1、安装 Docker
Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令:yum install docker-io -y
直接yum安装,安装成功后查看版本docker -v
启动dockerservice docker start
设置开机启动chkconfig docker on
2、配置 Docker
因为国内访问 Docker Hub 较慢, 可以使用腾讯云提供的国内镜像源, 加速访问 Docker Hub
依次执行以下命令echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker
systemctl daemon-reload
service docker restart
3、下载镜像
下载一个官方的 CentOS 镜像到本地docker pull centos
下载好的镜像就会出现在镜像列表里docker images
4、运行容器
这时我们可以在刚才下载的 CentOS 镜像生成的容器内操作了。
生成一个 centos 镜像为模板的容器并使用 bash shelldocker run -it centos /bin/bash
这个时候可以看到命令行的前端已经变成了 [root@(一串 hash Id)] 的形式, 这说明我们已经成功进入了 CentOS 容器。
在容器内执行任意命令, 不会影响到宿主机, 如下mkdir -p /data/simple_docker
可以看到 /data 目录下已经创建成功了 simple_docker 文件夹ls /data
退出容器exit
查看宿主机的 /data 目录, 并没有 simple_docker 文件夹, 说明容器内的操作不会影响到宿主机ls /data
二、Docker 的简单操作
1、保存容器
查看所有的容器信息, 能获取容器的iddocker ps -a
然后执行如下命令,保存镜像:docker commit -m="备注" 你的CONTAINER_ID 你的IMAGE
2、大功告成!
恭喜你结束了 Docker 的教程并学会了 Docker 的一些基本操作, 接下来, 您可以购买并体验腾讯云提供的 Docker 服务
操作日志[root@VM_1_64_centos ~]# yum install docker-io -y
... 省略下载日志 ...
[root@VM_1_64_centos ~]# docker -v
Docker version 1.12.6, build 85d7426/1.12.6
[root@VM_1_64_centos ~]# service docker start
Redirecting to /bin/systemctl start docker.service
[root@VM_1_64_centos ~]# chkconfig docker on
Note: Forwarding request to 'systemctl enable docker.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@VM_1_64_centos ~]#
[root@VM_1_64_centos ~]# echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >>/etc/sysconfig/docker
[root@VM_1_64_centos ~]# systemctl daemon-reload
[root@VM_1_64_centos ~]# service docker restart
Redirecting to /bin/systemctl restart docker.service
[root@VM_1_64_centos ~]#
[root@VM_1_64_centos ~]# docker pull centos
Using default tag: latest
Trying to pull repository docker.io/library/centos ...
sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a: Pulling from docker.io/library/centos
d9aaf4d82f24: Pull complete
Digest: sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a
Status: Downloaded newer image for docker.io/centos:latest
[root@VM_1_64_centos ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest d123f4e55e12 3 days ago 196.6 MB
[root@VM_1_64_centos ~]#
[root@VM_1_64_centos ~]# docker run -it centos /bin/bash
[root@de727aea8e39 /]# mkdir -p /data/simple_docker
[root@de727aea8e39 /]# ls /data/
simple_docker
[root@de727aea8e39 /]# exit
exit
[root@VM_1_64_centos ~]# ls /data/
[root@VM_1_64_centos ~]#
[root@VM_1_64_centos ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
de727aea8e39 centos "/bin/bash" 2 minutes ago Exited (0) Abouta minute ago sick_ritchie
[root@VM_1_64_centos ~]# docker commit -m="保存我的centos镜像" de727aea8e39 centos
sha256:247fdcbea5d43a9d2d951b6f1c87ec8b5b6feaa8d329e1cedd86a28de9cb52d6
[root@VM_1_64_centos ~]#
基于腾讯实验室操作总结:https://cloud.tencent.com/developer/labs/lab/10054/console