Linux 搭建 Docker 环境

timg.jpeg

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 环境

点  赞 (0) 打  赏
分享到: