docker

鉴于小伙伴的提议,我又整理了一下@zhct果然顺眼多了
作为一个刚接触docker的小白给大家分享一个docker最简单的例子(PS:手打不排除有步骤遗漏)
1.首先我们更新一下apt软件源

sudo apt-get update

2.可以从官网直接安装最新的Docker,我看的书上是这么推荐的,我自己实践了也很有效

sudo apt-get install curl
curl -sSL https://get-docker.com/ | sh

3.安装完成后,通过下面的命令启动Docker的守护进程

sudo service docker start 

4.接下来我们就可以验证一下是不是真的成功了

sudo docker run hello-world 

如果成功执行

docker images

应该能看到一个镜像了
图片
5.然后我们就可以部署环境了,这里用一个简单的java项目举例,数据库使用mysql,首先我们要建一个mysql镜像,这里面我们用的是5.7版本的,别问我为什么,踩坑了。

sudo docker search mysql 

6.使用下面的命令拉取一个

sudo docker pull mysql 

7.然后我们再看一下镜像

docker images 

图片
8.现在有镜像了我们就可以在镜像的基础上,搞一个容器了

docker run --name mysql -p 3306:3306 -v /opt/mysql:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql 

至于这个命令的细节我就不多说了,好多参数有兴趣自己查查看,都能查到,我们在建一个tomcat镜像和容器

docker run --name tomcat-p 8080:8080 -v /opt/tomcat:/usr/local/tomcat/webapps/ -d tomcat

9.我们用docker ps 看一下启动的容器 docker ps -a能看到所有容器
图片
10.用这个命令进到mysql容器中

docker exec -it mysql /bin/bash 

然后进账户密码进到mysql我就不多说了
图片
之后把自己的项目打包扔到刚才创建的路径/opt/tomcat下,重启docker容器就行了

11.然后tomcat部署项目的时候我遇到一个坑,就是在一般配置mysql路径的时候都是
localhost db.mysql.driverUrl=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true
因为docker容器好像认为每个容器有自己局域网,然后要都集成到这个ip才能互相访问,这块我理解的也不深 
图片
所以在服务器上要修改一个映射mysql的ip 
图片

以上就是我的分享,虽然在使用docker上只是用了一点点皮毛,但都是我经过实际验证的,欢迎批评指正

posted @ 2018-07-12 16:16  阿水的世界  阅读(86)  评论(0编辑  收藏  举报