CentOS7下安装Docker及使用

最近在看Spring Cloud,发现了Docker这么个神器,决定简单了解下。

准备

准备条件

1. WMWare 12

2. CentOS7

准备条件OK了,开造!

用户准备

安装docker组及docker用户

新建docker组

#groupadd docker

新增用户docker并将其加入到docker组中

#useradd –g docker docker

编辑 /etc/sudoers 将docker增加到sudo列表


Yum安装docker

[docker@promote ~]$ sudo yum –y install docker-io

启动docker

[docker@promote ~]$ sudo service docker start

查看docker启动状态

[docker@promote ~]$ docker version

如果展示如下图所示,则安装成功


获取镜像(这里我们以tomcat为例)

[docker@promote ~]$ docker search tomcat


从上图列表中选择star最多那个,docker.io访问速度实在蛋疼,建议访问国内的几个镜像库。

[docker@promote ~]$ docker pull docker.io/tomcat


如上图所示,镜像获取成功,也可以添加latest来指定镜像为最新的版本。

运行docker images就可以在本地镜像列表里看到刚刚下载的镜像

[docker@promote ~]$ docker images


可以看到此时有一个tomcat的镜像。

查看在运行的容器

[docker@promote ~]$ docker ps


可以看出此时没有正在运行的镜像

运行镜像

[docker@promote ~]$ docker run –p 8081:8080 docker.io/tomcat

说明:8081为宿主机的端口号,8080为容器启动的内部端口号 –p为制定端口号


此时可以在外部访问宿主机的8081端口验证tomcat是否启动成功

我的宿主机IP地址是192.168.1.103,浏览器访问结果如图


此时运行docker ps就可以看到有一个正在运行的容器

[docker@promote ~]$ docker ps


宿主机和容器中的文件交互

首先要获取容器内部的文件结构,其中containerID可以通过docker ps获得

[docker@promote ~]$ docker exec -it 1c9221ec4662 /bin/bash


此后的操作都是在容器内的操作,和宿主机就无关了。

如果想将文件由宿主机copy到容器内,比如说我们的程序war包,则执行如下命令

[docker@promote ~]$ docker cp sample.war 1c9221ec4662:/usr/local/tomcat/webapps/

进入一个容器(容器状态必须为启动状态才能进入)

docker attach 容器ID

本地生成新的镜像

获取容器ID

[docker@promote ~]$ docker ps


执行commit命令生成新的镜像

[docker@promote ~]$ docker commit 1c9221ec4662 tomcat_v1.0


此时查看最新的镜像列表,可以发现多了我们刚刚生成的镜像

[docker@promote ~]$docker images


删除镜像

[docker@promote ~]$ docker rmi e9ebc3696be8


删除容器

[docker@promote ~]$ docker ps –a


[docker@promote ~]$ docker rm cb1836219696


提示信息为无法删除一个正在运行的容器,或者强制删除

删除另外一个已经退出的容器

[docker@promote ~]$ docker rm 1c9221ec4662


将镜像保存到本地文件系统

[docker@promote ~]$ docker save -o images/tocmat_latest docker.io/tomcat


将本地文件系统的镜像备份文件导入容器中

[docker@promote images]$ docker load --input tocmat_latest


至此,docker的日常使用已经基本涵盖在上述操作中。

你可能感兴趣的:(CentOS7下安装Docker及使用)