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 源码分析》全球首发啦!

Docker安装及Docker私有仓库部署流程

Docker 操作流程

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段