


Linux培训
达内IT学院
400-996-5531
Docker的安装和卸载
Docker 可以安装在 Windows、Linux、Mac 等各个平台上。具体可以查看文档Install Docker。安装完成之后,可以查看 Docker 的版本信息:
[root@xxx ~]# docker version Client: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: OS/Arch: linux/amd64 Server: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: OS/Arch: linux/amd64
查看Docker的帮助信息:# docker —help。各种命令的用法也不再赘述,后边用到哪些命令时会作出一定的解释。
Docker中关于镜像的基本操作
安装完Docker引擎之后,就可以对镜像进行基本的操作了。
我们从官方注册服务器(#)的仓库中pull下CentOS的镜像,前边说过,每个仓库会有多个镜像,用tag标示,如果不加tag,默认使用latest镜像:
以上是下载一个已有镜像,此外有两种方法可以帮助你新建自有镜像。
[root@xxx ~]# docker search centos # 查看centos镜像是否存在 [root@xxx ~]# docker pull centos # 利用pull命令获取镜像 Using default tag: latest latest: Pulling from library/centos 08d48e6f1cff: Pull complete Digest: sha256:b2f9d1c0ff5f87a4743104d099a3d561002ac500db1b9bfa02a783a46e0d366c Status: Downloaded newer image for centos:latest [root@xxx ~]# docker images # 查看当前系统中的images信息 REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 0584b3d2cf6d 9 days ago 196.5 MB
(1)利用镜像启动一个容器后进行修改 ==> 利用commit提交更新后的副本
[root@xxx ~]# docker run -it centos:latest /bin/bash # 启动一个容器 [root@72f1a8a0e394 /]# # 这里命令行形式变了,表示已经进入了一个新环境 [root@72f1a8a0e394 /]# git --version # 此时的容器中没有git bash: git: command not found [root@72f1a8a0e394 /]# yum install git # 利用yum安装git ...... [root@72f1a8a0e394 /]# git --version # 此时的容器中已经装有git了 git version 1.8.3.1
此时利用exit退出该容器,然后查看docker中运行的程序(容器):
[root@xxx ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 72f1a8a0e394 centos:latest "/bin/bash" 9 minutes ago Exited (0) 3 minutes ago angry_hodgkin
这里将容器转化为一个镜像,即执行commit操作,完成后可使用docker images查看:
[root@xxx ~]# docker commit -m "centos with git" -a "qixianhu" 72f1a8a0e394 xianhu/centos:git [root@xxx ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE xianhu/centos git 52166e4475ed 5 seconds ago 358.1 MB centos latest 0584b3d2cf6d 9 days ago 196.5 MB
其中,-m指定说明信息;-a指定用户信息;72f1a8a0e394代表容器的id;xianhu/centos:git指定目标镜像的用户名、仓库名和 tag 信息。注意这里的用户名xianhu,后边会用到。
此时Docker引擎中就有了我们新建的镜像xianhu/centos:git,此镜像和原有的CentOS镜像区别在于多了个Git工具。此时我们利用新镜像创建的容器,本身就自带git了。
[root@xxx ~]# docker run -it xianhu/centos:git /bin/bash [root@520afc596c51 /]# git --version git version 1.8.3.1
利用exit退出容器。注意此时Docker引擎中就有了两个容器,可使用docker ps -a查看。
(2)利用Dockerfile创建镜像
Dockerfile可以理解为一种配置文件,用来告诉docker build命令应该执行哪些操作。一个简易的Dockerfile文件如下所示,官方说明:Dockerfile reference:
# 说明该镜像以哪个镜像为基础 FROM centos:latest # 构建者的基本信息 MAINTAINER xianhu # 在build这个镜像时执行的操作 RUN yum update RUN yum install -y git # 拷贝本地文件到镜像中 COPY ./* /usr/share/gitdir/
有了Dockerfile之后,就可以利用build命令构建镜像了:
[root@xxx ~]# docker build -t="xianhu/centos:gitdir" .
其中-t用来指定新镜像的用户信息、tag等。最后的点表示在当前目录寻找Dockerfile。
构建完成之后,同样可以使用docker images命令查看:
[root@xxx ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE xianhu/centos gitdir 0749ecbca587 34 minutes ago 359.7 MB xianhu/centos git 52166e4475ed About an hour ago 358.1 MB centos latest 0584b3d2cf6d 9 days ago 196.5 MB
以上就是构建自己镜像的两种方法。其中也涉及到了容器的一些操作。如果想删除容器或者镜像,可以使用rm命令,注意:删除镜像前必须先删除以此镜像为基础的容器。
[root@xxx ~]# docker rm container_name/container_id [root@xxx ~]# docker rmi image_name/image_id
镜像其他操作指令:
[root@xxx ~]# docker save -o centos.tar xianhu/centos:git # 保存镜像 [root@xxx ~]# docker load --input centos.tar # 加载镜像
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有