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
启动docker
service 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 shell
docker 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、保存容器
查看所有的容器信息, 能获取容器的id
docker 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
未经允许请勿转载:程序喵 » Linux 搭建 Docker 环境