您的位置:首页 > 运维架构 > Docker

centos 安装并操作docker 同步文件夹 并部署tomcat

2016-09-22 13:43 731 查看
1、安装docker

 yum -y install docker

2、启动docker 并设置为开机启动

service docker start

chkconfig docker on

或者

 systemctl start docker.service

 systemctl enable docker.service

3、安装镜像centos

docker
pull centos

  安装成功后 通过命令 docker images 查看centos 的镜像是否成功安装

4、启动容器,并进入容器控制台

docker
run -i -t
centos /bin/bash



centOS 容器已经被启动,并且我们得到了 bash 提示符。在
docker 命令中我们使用了 “-i 捕获标准输入输出”和 “-t 分配一个终端或控制台”选项。若要断开与容器的连接,输入 exit。

[root@cd05639b3f5c /]#exit
exit

输入exit 会退出容器

5、查询docker中运行的容器
 docker ps 



6、退出控制台后如何进入容器

docker 中用 nsenter  工具进入容器控制台

首先

docker inspect --format "{{ .State.Pid }}" 容器id

获取docker容器的进程

nsenter --target xxx(进程号) --mount --uts --ipc --net --pid

接着就进入docker容器了



7、接着在容器中,与宿主机同步文件夹,才能用来部署项目

创建一个普通容器当做数据卷容器(就是专门用来同步文件的容器吧)

docker run -v /home/docker_files:/usr/docker_files  --name dataVol centos /bin/bash
讲解:

docker run -v  (本机要共享的目录):(容器上同步的目录)  --name (数据卷容器的名称) centos /bin/bash

接着创建容器并且设置使用这个数据卷

docker run -it --volumes-from dataVol centos /bin/bash

然后在/usr/docker_files目录下就可以看到同步的文件了

坑!!!:

在容器中会遇到

访问共享目录中ls命令及一些其他操作发生问题(访问/usr/docker_files 目录时)

cannot open directory .: Permission denied

这时候要在宿主机上设置

selinux的状态

getenforce 可以查看状态

setenforce
命令设置临时关闭,不用重启生效。

setenforce 0

这样就可以正常的同步并且操作同步文件夹内的数据了

8、docker中批量删除空的镜像

docker rmi $(docker images | awk '/^<none>/ { print $3 }')

docker rmi 镜像id


docker rmi REPOSITORY:TAG

9、把容器的状态保存进镜像,以便下次启动容器就无需重复配置或同步一些文件了
docker commit 725437005b50 centos:my_centos04

讲解

docker commit 容器idREPOSITORY:TAG

下次启动保存后的容器即可

docker run -it --volumes-from dataVol
centos:my_centos04 /bin/bash

讲解:

docker run -it --volumes-from dataVol  REPOSITORY:TAG
/bin/bash

10、docker 中修改image 镜像的名称

docker tag 8a57cd92be4d centos:my_centos03 

讲解:

docker tag image的id
REPOSITORY:TAG

这样子docker 安装 同步文件夹 和操作容器  从宿主机进入容器控制台的方法就解决了

接下去就可以将docker 当做小型虚拟机

通过同步文件夹把tomcat 和jdk 同步到docker项目 并启动tomcat

重要的是启动容器时需要配置容器对外映射的端口号

docker run -it --volumes-from dataVol -p 8080:8080 centos:my_centos04 /bin/bash

讲解

docker run -it --volumes-from 数据卷名称 -p 端口号:端口号
REPOSITORY:TAG /bin/bash

-p后面的端口

把宿主端口号暴露给docker的端口号

之后就可以使用宿主主机的IP地址和这个端口来访问docker容器

启动后就可以通过浏览器输入

http://IP地址:8081/

就会出现tomcat的页面啦



搞定!

有什么错误希望能教教
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息