Docker入门操作


docker

2013年发布

一、环境配置难题

开发环境运行没有问题,生产不能用,因为生产缺乏某些组件

换一台机器,需要重新配置一遍

能不能从根本上解决问题:安装的时候,把原始环境,一模一样地安装一遍

二、虚拟机

带环境安装的一种解决方案

缺点:
占用资源多:虚拟机本身需要消耗资源,程序1MB,环境几百MB

冗余步骤多:虚拟机是完整的操作系统,一些系统级别的操作步骤,无法跳过,比如用户登录

启动慢:启动操作系统要多久,启动虚拟机就要多久

三、Linux容器

针对虚拟机的缺点,Linux发展出另外的一种虚拟化技术:Linux容器

Linux容器不是模拟完整的操作系统,而是对进程进行隔离,即在正常进程的外面,套一个保护层,对于容器里面的进程来说,它接触到的资源都是虚拟的,实现与底层系统的隔离

优点:
启动快:容器里面的应用,直接就是底层系统中的一个进程,启动容器相当于启动本机的进程。而不是启动操作系统

占用资源少:容器只占用需要的资源,不占用没有用到的资源

体积小:只包含用到的组件,而虚拟机包含了整个操作系统。所以容器文件比虚拟机文件小的多

四、Docker是什么

Docker属于Linux容器的一种封装,提供了简单易用的容器使用接口

Docker将应用程序与该程序的依赖,打包到一个文件里面,运行这个文件,就会产生一个虚拟容器

程序在虚拟容器中运行,就好像运行在真正的物理机上一样

Docker提供版本管理、复制、分享、修改等功能,就像管理普通代码一样管理Docker容器

五、Docker的用途

Docker的主要用途,目前有三大类

1、提供一次性的环境

本地测试他人的软件程序

2、提供弹性的云服务

Docker容器可以随开随关,很适合动态的扩容和缩容

3、组建微服务架构

通过多个容器,一台机器可以跑多个服务,在本机就可以模拟出微服务架构

六、Docker安装

1、Linux安装

Docker要求CentOS内核版本高于3.10
uname -r 查看内核版本

安装必要的系统工具:
yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息:
yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存:
yum makecache fast

安装 Docker-ce:
yum -y install docker-ce

启动 Docker 后台服务
systemctl start docker

测试运行 hello-world
docker run hello-world

看到hello from docker证明安装成功

2、windows安装

win10专业版,直接安装 docker for windows 即可

win10普通版、win7 win8 ,需要安装 docker tool box

toolbox 配置:
右键 Docker Quickstart Terminal
“C:\Program Files\Git\bin\bash.exe” --login -i “C:\Program Files\Docker Toolbox\start.sh”
把这个位置配成你本机的git位置 修改后面这个脚本

DOCKER_MACHINE=”D:\Docker Toolbox\docker-machine.exe”

STEP=”Looking for vboxmanage.exe”
VBOXMANAGE=”C:\Program Files\Oracle\VirtualBox\VBoxManage.exe”

#if [ ! -z "$VBOX_MSI_INSTALL_PATH" ]; then
#VBOXMANAGE="${VBOX_MSI_INSTALL_PATH}VBoxManage.exe"
#else
#VBOXMANAGE="${VBOX_INSTALL_PATH}VBoxManage.exe"
#fi

七、image文件

Docker把应用程序及其依赖,打包在image文件里面,只有通过image文件,才能生成docker容器

Docker可以根据image文件生成容器实例

image文件可以继承。在实际开发中,一个image文件往往通过继承另一个image文件,加上一些个性化的设置而生成

启动容器
docker run hello-world

列出所有image文件
docker image ls

删除image文件
docker image rm image文件名

使用docker-machine stop default停掉Docker的虚拟机
使用docker-machine start default开启Docker的虚拟机

八、配置阿里云docker镜像加速器

  1. 注册阿里云,获得专属加速器地址

  2. hsiehchou@DESKTOP-KJDN870 MINGW64 /d/Docker Toolbox
    sudo sed -i “s|EXTRA_ARGS=’|EXTRA_ARGS=’–regis
    try-mirror=https://********.mirror.aliyuncs.com |g” /var/lib/boot
    2docker/profile
    docker@default:~$ exit

  3. hsiehchou@DESKTOP-KJDN870 MINGW64 /d/Docker Toolbox
    $ docker-machine restart default

九、安装redis

1、搜索镜像

docker search redis

2、拉取镜像

docker pull redis

3、启动redis

docker run --name myredis -p 6379:6379 -d redis redis-server

-d表示后台运行

-p表示端口号,左边的6379表示win10系统端口考,右边表示容器中redis端口号

--name表示运行redis镜像的实例名称

4、进入Image的小环境

docker exec -it COXTAINER ID bash
redis-cli

hsiehchou@DESKTOP-KJDN870 MINGW64 /d/Docker Toolbox
$ docker run --name myredis12 -p 6379:6379 -d redis redis-server
9e37ae7338d05b83f666a95fe3677aa85b1481c8fa519a79e9008a5a5e9e909d

hsiehchou@DESKTOP-KJDN870 MINGW64 /d/Docker Toolbox
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e37ae7338d0 redis “docker-entrypoint.s” 5 seconds ago Up 6 seconds 0.0.0.0:6379->6379/tcp myredis12

hsiehchou@DESKTOP-KJDN870 MINGW64 /d/Docker Toolbox
$ docker exec -it 9e37ae7338d0 bash
root@9e37ae7338d0:/data# redis-cli
127.0.0.1:6379>

优质内容筛选与推荐>>
1、Kali安装搜狗输入法
2、Java Web-JSTL
3、XSS练习平台-XSS Challenges
4、input 输入框只能输入纯数字
5、第02组 Alpha冲刺(3/4)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号