Docker 操作流程
Posted yfacesclub
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 操作流程相关的知识,希望对你有一定的参考价值。
一、下载安装
1、检查服务器是否存在docker
yum list installed | grep docker
2、安装
这里要提一下,centos 7系统的CentOS-Extras库中已带Docker,因此先后安装:
(1)yum install -y yum-utils device-mapper-persistent-data lvm2 (2)yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo (2)yum makecache fast (3)yum install -y docker-ce
3、查看docker版本
docker version # docker安装后使用 docker info # docker启动后使用
例如:使用命令docker version ,回显信息如下:
到这里docker的安装就成功了。
4、接下来启动docker
systemctl daemon-reload # 重新加载服务配置文件 systemctl enable docker # 开机自动启动docker systemctl start docker # 启动docker systemctl status docker # 查看docker状态
二、Docker 部署 tomcat 以及应用
1、查看本地服务镜像资源
比如:我要查找tomcat的镜像资源,命令如下:
docker search tomcat
回显信息:
2、拉取镜像到本地
docker pull tomcat
这里由于镜像源以及网络问题,可能会有点慢。。。。
3、镜像拉取成功后,使用如下命令查看
docker images
回显信息如下:
4、使用 docker run 命令运行 tomcat容器
docker run -di --name=tomcat_t -p 8080:8080 tomcat:latest
这里给出了参数说明:
-p 8080:8080 指定容器和主机的映射端口 前者是外围访问端口:后者是容器内部端口
5、使用浏览器访问 tomcat 服务
(1)根据服务器系统镜像版本的不同,给出两种开放防火墙端口的方法
第一种:firewall
第二种:iptables
(2)因为我是用的阿里云服务器,这里需要在控制台ECS的安全组开放端口
只要设置了入口方向,外部即可访问
(3)在浏览器输入服务器外网IP+指定端口,访问即可进入到 tomcat 的欢迎页面
6、如果我要从宿主机拷文件到容器里面,该怎么操作:
docker cp /root/soft/docker/war/index.html tomcat_t:/usr/local/tomcat/webapps/ROOT # docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
文件源路径:/root/soft/docker/war/index.html
容器名称:tomcat_t
容器对应路径:/usr/local/tomcat/webapps/ROOT
7、那么从容器里面拷文件到宿主机呢?
docker cp tomcat_t:/usr/local/tomcat/webapps/ROOT/js/index.html /root/soft/docker/war # docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
文件指定路径(宿主机):/root/soft/docker/war/index.html
容器名称:tomcat_t
容器文件源路径:/usr/local/tomcat/webapps/ROOT
三、进入容器内操作
1、容器创建与进入容器里面同步操作,命令如下:
docker run -it --name tomcat_t -p 8080:8080 tomcat:latest /bin/bash
2、容器创建之后,进入容器,命令如下:
docker exec -it tomcat_t bash # docker exec -it 容器名称/容器Id bash
3、更换了tomcat 的war包,需要进去容器,操作步骤如下:
(1)进入 tomcat_t 容器
docker exec -it tomcat_t bash
(2)获取源文件路径(宿主机)、容器名称、拷贝到容器的目标路径,使用命令如下:
比如,我在宿主机路径/root/soft/docker/war/ 创建 index.html 文件
内容如下:
hello world!
docker cp /root/soft/docker/war/index.html tomcat_t:/usr/local/tomcat/webapps/ROOT
(3)在容器里面启动项目
四、运行容器的方式
1、直接运行
docker run -p 8081:8080 docker.io/tomcat
这种方式,容器重启后,项目就不在了!!
2、以挂载的方式运行
docker run -d -v /usr/docker_file/nginxDemo.war:/usr/local/tomcat/webapps/NginxDemo.war -p 8080:8080 docker.io/tomcat
前两种建议在测试环境使用,毕竟要在经常修改代码。
3、使用 Dockerfile
这里要提一下,copy最好将主机的文件放在dockerfile的同级目录下面,放在其他地方可能会找不到的。
(1)编写 Dockerfile
from docker.io/tomcat:latest #你的 tomcat的镜像 MAINTAINER XXX@qq.com #作者 COPY NginxDemo.war /usr/local/tomcat/webapps #放置到tomcat的webapps目录下 注意:copy 的第二个参数是docker的目标路径,如果/结尾就是当作目录,如果不是一这个结尾默认当作文件处理
(2)生成镜像
docker build -t nginx-demo:v1
(3)启动新镜像、
docker run -p 8080:8080 nginx-demo:v1
五、在容器安装工具
以上是关于Docker 操作流程的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段
Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段