这篇文章主要讲解Docker的容器管理,实现服务的部署,以Redis为例。我用的是Utuntu16.04,所以软件直接从库中下载,库中的Docker不是最新版本。但是不影响部署,如需要最新可在官网下载编译版软件安装。
在16.04中使用apt-get install docker.io 下载Docker,使用docker pull redis下载最新版本redis,当然根据需要可以用 docker pull redis:版本号下载任意版本。
docker images 查询docker中镜像
创建一个redis容器,我们命名为redis,如下:
其中 --name 后面为自定义容器redis
-d detached 表示命令执行完成后,控制台不会被阻碍
最后面的redis是镜像名,表示我们使用redis镜像创建了一个叫redis的容器
docker ps 查看容器列表
我们可以看到容器端口是6379,然而这是容器的端口,需要映射容器端口到本地端口,这样本地或者局域网便可访问。删掉上面的redis容器,我们创建一个本地可访问的容器,起名叫redis_test
-p 表示端口(port):左边为本地端口,右边为容器端口
--name 容器名(自定义)
最后面的redis是镜像名
0.0.0.0 ->6379/tcp 表示已经实现本地与容器之间端口映射。
我们使用java代码调用端口进行测试,redis是联通的,见下:
public class RedisTest { @Test public void test(){ Jedis jedis=new Jedis("127.0.0.1",6379); System.out.println("ping==>"+jedis.ping()); } }
测试结果:
附录
如果在Linux系统中,以上便可完成。本人在VirtualBox中测试的,另外加了虚拟机的映射设置。
在网络中,设置网路地址转换(NAT),并勾选介入网线,点击端口转发。
端口转发,将虚拟机6309端口也就是redis端口,映射到本地winows的6309端口,见下: