Exploring
首页
  • Java

    • 面向对象的思想OOP
    • 浅谈Java反射原理
    • endorsed覆盖JDK中的类
  • 认证与授权

    • LDAP概念和原理介绍
    • OAuth2介绍
  • Impala

    • Impala 介绍
  • MySQL

    • 关于MySQL的一些面试题
    • 解决MySQL不到中文数据
    • 数据库之事务与实现原理
  • Oracle

    • oracle的表空间,用户管理,表操作,函数
    • oracle的查询、视图、索引
    • plsql简单入门
  • Redis

    • 数据类型详解
    • 跳越表
    • 数据持久化的两种方式
  • 共识算法

    • gossip
  • RPC

    • GRPC初识与快速入门
    • ProtocolBuffer基本语法
  • RabbitMQ

    • RabbitMQ入门程序之HelloWorld
    • RabbitMQ之工作模式
  • Zookeeper

    • Zookeeper一文入门
  • Docker

    • Docker入门初体验
  • Maven

    • 把自己的包到Maven中央仓库
    • Maven之自定义插件
  • Nginx

    • nginx的安装
    • nginx的配置文件
    • nignx 的变量
  • Tomcat

    • Servlet3通过SPI进行注册组件
  • Vagrant

    • vagrant 初始化
    • vagrant 常用配置
    • vagrant 自己制作 box
  • Linux

    • 启动方式 Systemd
    • 后台服务
    • 防火墙与 Iptables
  • 设计模式

    • 设计模式-代理
    • 设计模式-单例模式
    • 设计模式-迭代器
  • 分布式

    • CAP 理论
  • 数据结构

    • 数据结构之堆Heap
    • 数据结构之哈希表
    • 数据结构之队列
  • 计算机网络

    • HTTP与HTTPS详解
    • 浅谈DNS协议
    • ISP中的网络层
  • 算法

    • 常用查找算法及Java实现
    • 常用排序算法及Java实现
    • 迪杰斯特拉算法
  • 操作系统

    • 操作系统之进程调度算法
    • 操作系统之进程通讯IPC
    • 操作系统之内存管理
  • 抓包

    • 生成安卓系统证书
  • 加解密

    • 常见加密算法
    • 公开秘钥基础知识
    • RSA 解析
  • Windows

    • scoop 包管理
    • windows-terminal 配置
    • 增强 PowerShell
归档
Github (opens new window)
首页
  • Java

    • 面向对象的思想OOP
    • 浅谈Java反射原理
    • endorsed覆盖JDK中的类
  • 认证与授权

    • LDAP概念和原理介绍
    • OAuth2介绍
  • Impala

    • Impala 介绍
  • MySQL

    • 关于MySQL的一些面试题
    • 解决MySQL不到中文数据
    • 数据库之事务与实现原理
  • Oracle

    • oracle的表空间,用户管理,表操作,函数
    • oracle的查询、视图、索引
    • plsql简单入门
  • Redis

    • 数据类型详解
    • 跳越表
    • 数据持久化的两种方式
  • 共识算法

    • gossip
  • RPC

    • GRPC初识与快速入门
    • ProtocolBuffer基本语法
  • RabbitMQ

    • RabbitMQ入门程序之HelloWorld
    • RabbitMQ之工作模式
  • Zookeeper

    • Zookeeper一文入门
  • Docker

    • Docker入门初体验
  • Maven

    • 把自己的包到Maven中央仓库
    • Maven之自定义插件
  • Nginx

    • nginx的安装
    • nginx的配置文件
    • nignx 的变量
  • Tomcat

    • Servlet3通过SPI进行注册组件
  • Vagrant

    • vagrant 初始化
    • vagrant 常用配置
    • vagrant 自己制作 box
  • Linux

    • 启动方式 Systemd
    • 后台服务
    • 防火墙与 Iptables
  • 设计模式

    • 设计模式-代理
    • 设计模式-单例模式
    • 设计模式-迭代器
  • 分布式

    • CAP 理论
  • 数据结构

    • 数据结构之堆Heap
    • 数据结构之哈希表
    • 数据结构之队列
  • 计算机网络

    • HTTP与HTTPS详解
    • 浅谈DNS协议
    • ISP中的网络层
  • 算法

    • 常用查找算法及Java实现
    • 常用排序算法及Java实现
    • 迪杰斯特拉算法
  • 操作系统

    • 操作系统之进程调度算法
    • 操作系统之进程通讯IPC
    • 操作系统之内存管理
  • 抓包

    • 生成安卓系统证书
  • 加解密

    • 常见加密算法
    • 公开秘钥基础知识
    • RSA 解析
  • Windows

    • scoop 包管理
    • windows-terminal 配置
    • 增强 PowerShell
归档
Github (opens new window)
  • Docker

    • Docker入门初体验
      • 一、简介
      • 二、安装
      • 三、常用指令
        • 1.镜像相关
        • 2.容器相关
      • 四、搭建环境
        • 1.mysql
        • 2.tomcat
        • 3.tomcat
        • 4.redis
      • 四、保存备份
        • 4.1 容器保存为镜像
        • 4.2 镜像备份
        • 4.3镜像恢复
      • 五、Dockerfile
        • 5.1常用指令
        • 5.2 例子
        • 5.3 构建
  • Maven

  • Nginx

  • Tomcat

  • Vagrant

  • Linux

  • DevOps
  • Docker
unclezs
2019-04-16
0
目录

Docker入门初体验

# 一、简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

# 二、安装

如需安装 Docker CE,您需要 64 位版本的 CentOS 7

卸载旧版本 Docker 的早期版本称为 docker 或 docker-engine。如果安装了这些版本,请卸载它们及关联的依赖资源。

$ sudo yum remove docker \
                  docker-common \
                  docker-selinux \
                  docker-engine
1
2
3
4

更新yum到最新

sudo yum update
1

安装依赖

 yum install -y yum-utils device-mapper-persistent-data lvm2
1

设置镜像

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1

更新 yum 软件包索引。

 sudo yum makecache fast
1

安装最新版本的 Docker CE,或者转至下一步以安装特定版本。

sudo yum install docker-ce
1

查看版本、信息

docker -v
docker info
1
2

启动、停止、重启,开启自启docker

systemctl start/stop/restart/enable docker 
1

# 三、常用指令

# 1.镜像相关

# 1.1查看镜像

docker images
1

# 1.2.删除镜像

docker rmi 镜像名字或者id
docker rmi `docker images -q`  //删除所有
1
2

# 1.3.搜搜镜像

docker search 镜像名字
1

# 1.4.拉取镜像

docker pull 镜像名字
1

# 2.容器相关

# 2.1.查看容器

查看所有,运行+没运行的

docker ps //正在运行的容器
docker ps -a //全部容器
docker ps -l //最后一次运行的容器
docker ps -f status=exited //查看停止的容器
1
2
3
4

# 2.2.创建容器

参数 作用
-i 表示运行容器
-t 表示启动后进入其命令行。加入这个参数后,肉哦容器创建就能进入一个伪终端
--name 容器名字
-v 目录映射,‘:’分割前面是宿主目录,后者是容器目录,可以多个-v创建多个映射目录
-d 守护式创建容器,即创建后不会进去命令行
-p 端口映射,‘:’分割,前者是主机端口,后者是容器端口

1.交互式方式创建容器

docker run -it --name=容器名称 镜像名称:标签 /bin/bash
exit //退出容器
1
2

2.守护式方式创建容器

docker run -di --name=容器名称 镜像名称:标签
docker exec -it 容器名称(或者id) /bin/bash
1
2

3.停止启动容器

docker stop 容器名称(或者id)
docker start 容器名称(或者id)
1
2

4.主机与容器文件互相拷贝

docker cp 主机目录 容器名称:容器目录  //主机到容器
docker cp 容器名称:容器目录 主机目录  //容器到主机
1
2

5.目录挂载

docker run -di -v 主机目录:容器目录 --name=容器名称 镜像名称
1

6.查看容器信息、ip

docker inspect 容器名称(id) 
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(id)
1
2

7.删除容器

docker rm 容器名称(id)
1

# 四、搭建环境

# 1.mysql

docker run -di --name=con_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123 centos/mysql-57-centos7
1

# 2.tomcat

run -di --name=tomcat7 -p 8888:8080 -v /usr/local/webapps:/usr/local/webapps tomcat:7-jre7
1

# 3.tomcat

docker run -di --name=mynginx -p 8889:80 nginx
1

# 4.redis

docker run -di --name=myredis -p 16379:6379 redis
1

# 四、保存备份

# 4.1 容器保存为镜像

docker commit 容器名字 镜像名字
1

# 4.2 镜像备份

docker save -o 名字.tar 镜像名字
1

# 4.3镜像恢复

docker load  -i 镜像名字.tar
1

# 五、Dockerfile

# 5.1常用指令

命令 容器
FROM image_name:tag 定义了从哪个镜像启动构建流程
MAINTAINER username 声明创作者
ENV key value 定义环境变量,可以多条
RUN cmd 核心部分,可以写多条
ADD 宿主目录文件 容器目录文件 重宿主机添加文件到容器,会自动解压
COPY 宿主目录文件 容器目录文件 重宿主机添加文件到容器,不解压
WORKDIR 容器目录 工作目录

# 5.2 例子

FROM centos:7
MAINTAINER Uncle
WORKDIR /usr
RUN mkdir /usr/local
ADD jdk1.8.tar.gz /usr/local
ENV PATH /usr/local/jdk1.8/bin:$PATH
1
2
3
4
5
6

# 5.3 构建

docker build -t='镜像名称' Dockerfile所在目录
1
在 GitHub 编辑此页 (opens new window)
上次更新: 2024/02/25, 12:11:11
把自己的包到Maven中央仓库

把自己的包到Maven中央仓库→

Theme by Vdoing | Copyright © 2018-2024 unclezs
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式