环境:

  Win10 内的 VMware workstation(Centos7 64位)

  所有命令皆为 root 用户, 非 root 用户应在命令前加 sudo

查看系统版本命令: cat /etc/redhat-release

安装Docker: yum install docker

启动: service docker start

设置开机启动: chkconfig docker on

查看本地镜像列表: docker images

从官方仓库搜索镜像: docker search <关键词>

  例: docker search centos

从官方仓库拉取一个centos镜像: docker pull <镜像名>

  例: docker pull centos

移除一个本地镜像: docker rmi <镜像id>

用centos镜像运行一个docker容器: docker run  -t  -i  -d -p 8181:81 -p 8282:82  -v /home/package:/home -v /etc/localtime:/etc/localtime:ro  --privileged=true  --name  yjy-server  centos  /bin/bash

 -i: 让容器的标准输入保持打开

 -t: 分配一个伪终端并绑定到容器的标准输入上

 -d: 守护态运行容器(后台运行)

 -p: 将主机的8181端口绑定到容器的81端口, 这样访问主机的8181端口就相当于访问了容器的81端口(可多次使用-p参数绑定多个端口)

 -v /home/package:/home: 将主机的/home/package目录挂载到容器的/home目录(可以事先把 jdk, mysql等安装包存放在主机的package目录下)

 -v /etc/localtime:/etc/localtime:ro: 挂载主机时间文件到容器, 保证容器与宿主机时间同步, ro表示只读 (否则会出现容器时间不对的问题)

 --privileged=true: 给容器增加特权, 否则在容器内访问挂载目录时会提示没有权限

 --name yjy-server: 将容器自定义命名为 yjy-server

 centos: 镜像名称

 /bin/bash: 容器启动后运行 bash脚本解释器

查看所有容器: docker ps -a

查看某个容器的详细信息: docker inspect <容器id>

从容器信息中找到容器的内网ip地址(启动服务时可能用得着): NetworkSettings > IPAddress

关闭运行中的容器: docker stop <容器id>

启动已关闭的容器: docker start <容器id>

重启一个正在运行的容器: docker restart <容器id>

删除一个容器: docker rm <容器id>

进入一个正在运行的容器

  方式1: docker attach <容器id>

    缺点: 退出容器时, 容器会自动关闭, 而正常情况下往往需要容器继续在后台运行

  方式2: docker exec -it <容器id> /bin/bash

  方式3:

    获取容器进程PID: docker inspect --format "{{ .State.Pid }}" <容器id>

    进入容器: nsenter --target <容器进程PID> --mount --uts --ipc --net --pid

进入到挂载目录: cd /home

解压jdk压缩文件: tar -zxvf  server-jre-8u191-linux-x64.tar.gz

将解压后的文件夹移动至/usr/local/:  mv  jdk1.8.0_191/  /usr/local/jdk1.8

设置环境变量:

  方式1:

    配置/etc/profile 追加内容:

      export JAVA_HOME=/usr/local/jdk1.8
      export PATH=$PATH:$JAVA_HOME/bin

    加载生效: source  /etc/profile

    缺点: 重新进入容器后环境变量将失效, 每次进入容器都必须手动加载才行

  方式2:

    配置/root/.bashrc 追加内容:

      export JAVA_HOME=/usr/local/jdk1.8
      export PATH=$PATH:$JAVA_HOME/bin

    加载生效: source /root/.bashrc

测试jdk是否安装成功:  java -version

安装其他软件

安装lrzsz(用于上传文件到容器或从容器下载文件): yum install lrzsz

新建目录: mkdir /var/server

进入目录: cd /var/server

上传服务jar包(server.jar)到目录: rz

运行服务: java -jar server.jar --server.address=容器的内网ip地址  --server.port=81

现在, 在外部访问虚拟器 http://虚拟机ip:8181/ 就能访问到容器的 81 端口服务了

至此, 容器服务部署完成

将容器保存为新镜像: docker commit  -m  "这里写容器说明"  -a  "这里写你的名字"  <容器id>  <镜像名>:<标签>

  例: docker commit  -m  "测试创建镜像"  -a  "yjy 1234567@qq.com"  dfgsd34fss3  docker.io/centos-yjy:latest

导出容器快照到本地文件: docker  export  <容器id>  >  /home/centos-yjy.tar

导入容器快照文件为镜像: docker import  /home/centos-yjy.tar  <新镜像名称>

将本地镜像导出为镜像文件: docker save  -o  <导出文件名>  <镜像名>:<标签>

  例: docker save  -o  /home/centos-yjy.tar  centos-yjy:latest

从本地文件载入镜像: docker load  <  /home/centis-yjy.tar

Linux Centos7.5从docker的安装到容器的部署运行的更多相关文章

  1. Linux环境下的Docker的安装和部署、学习-一

    CentOS Docker 安装Docker支持以下的CentOS版本:CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本 前提条件目前,CentOS 仅发行版本中 ...

  2. 在Linux(Centos7)上使用Docker运行.NetCore

    在上一篇中我们写了如何在windows中使用docker运行.netcore,既然我们了解了windows下的运行发布,我们也可以试试linux下使用docker运行.netcore项目,那么今天我们 ...

  3. Centos7下实现docker + wordpress 安装

    一.Docker CE 安装 检查是否安装过旧的版本 如果系统安装旧版本Docker需要先卸载,命令如下: [root@localhost Wordpresss]sudo yum remove doc ...

  4. Linux Centos7 环境搭建Docker部署Zookeeper分布式集群服务实战

    Zookeeper完全分布式集群服务 准备好3台服务器: [x]A-> centos-helios:192.168.19.1 [x]B-> centos-hestia:192.168.19 ...

  5. Centos7下,Docker的安装与使用

    一.Docker Install 1.卸载旧的版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ ...

  6. Docker 案例: 在容器中部署静态网站

    ----------------知识点------------ 容器的端口映射: docker  run  [-P] [-p] -P,–publish-all=true | false,大写的P表示为 ...

  7. Linux CentOS7.0 (03)安装验证 docker

    一.安装docker 1.升级 Linux 的软件包和内核 sudo yum update 2.安装 docker (1) sudo yum install docker  (2).验证docker安 ...

  8. Centos7.1下Docker的安装-yum方法

    在CentOS7上安装1. 查看系统版本: $ cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) 2. 安装docker $ y ...

  9. linux下如何使用docker二进制文件安装_docker离线安装

    1,下载二进制文件 https://download.docker.com/linux/static/stable/x86_64/docker-18.03.1-ce.tgz 2,解压二进制文件 tar ...

随机推荐

  1. Ubuntu 16.04 安装opencv3.4.5/cuda/caffe并使用jni笔记

    因操作失误,误卸开发机NVIDIA显卡驱动,先更新操作日志如下: 1>NVIDIA驱动重装 1.卸载系统里的Nvidia残余 sudo apt-get purge nvidia* 2.把显卡驱动 ...

  2. 【LUOGU???】WD与地图 整体二分 线段树合并

    题目大意 有一个简单有向图.每个点有点权. 有三种操作: 修改点权 删除一条边 询问和某个点在同一个强连通分量中的点的前 \(k\) 大点权和. \(n\leq 100000,m,q\leq 2000 ...

  3. <el-upload></el-upload>组件上传图片到七牛云

    [01]搭建好页面结构.定义数据与接口 <el-upload method="post" ref="upload" :action="domai ...

  4. KEIL之工程单独文件属性修改

    @2019-04-29 [小记] 可以设置文件是否参与编译.内存分配.宏定义等属性设置

  5. [HNOI2007]神奇游乐园(插头DP)

    题意:n*m的矩阵内值有正有负,找一个四连通的简单环(长度>=4),使得环上值的和最大. 题解:看到2<=m<=6和简单环,很容易想到插头DP,设f[i][j][k]表示轮廓线为第i ...

  6. Hadoop 生产配置文件V2

    Hadoop 生产配置文件V2 生产环境的配置文件调优 !!! Apache Hadoop 2.7.3 && NN HA && RM HA且仅针对于HDFS & ...

  7. 02-oracle中的基础sql

    1.SQL SQL(Structured Query Language) 语言是目前主流的关系型数据库上执行数据操作.数据检索以及数据库维护所需要的标准语言,是用户与数据库之间进行交流的接口,许多关系 ...

  8. 010-2 Socket套接字类型

    ocket套接字类型 成员名称 说明 Dgram 支持数据报,即为固定 (通常很小) 的最大长度的无连接的. 不可靠的消息. 消息可能会丢失或重复,并且可能不按顺序抵达. 一个 Socket 类型的  ...

  9. R-----shiny包的部分解释和控件介绍

    R-----shiny包的部分解释和控件介绍 作者:周彦通.贾慧 shinyApp( ui = fixedPage( fixedPanel( top = 50, right=50, width=200 ...

  10. 移动文件(git mv)

    使用git mv命令将mian.c移动为main2.c $ git mv main.c main2.c D:\Git\test (master -> origin) $ git status O ...