zoukankan      html  css  js  c++  java
  • Docker快速入门

    序言

    Docker解决的问题

    1.运行环境不一致导致的问题

    2.隔离

    3.弹性伸缩

    CentOS7安装Docker

    1.安装CentOS7.x系统

    2.安装docker

    yum install docker

    3.启动docker服务

    systemctl start docker.service

    4.配置开机启动并验证

    systemctl enable docker.service

    验证:查看docker版本信息 

    docker version

    5.配置docker加速器 => 原因你懂得,不设置慢死你,云服务器除外

    vim /etc/docker/daemon.json
    {
    "registry-mirrors": ["https://d8b3zdiw.mirror.aliyuncs.com"]
    } 

    然后重启docker服务

    systemctl daemon-reload
    systemctl restart docker

    6.Hello World

    docker run hello-world

    常用命令

    查看

    docker images
    docker images redis

    搜索

    docker search redis

    拉取

    docker pull 

    删除镜像

    docker rmi  镜像ID

    删除容器

    docker rm xxx   删除已经停止的容器xxx
    docker rm -f  xxx 可以删除正在运行的容器xxx
    docker rm -f ${docker pa -a -q}  删除所有的容器

    查看正在运行的容器

    docker ps -a

    查看所有容器

    docker ps -a

    启动

    docker start ID

    停止

    docker stop ID

    文件拷贝

    docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 
    docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
    docker exec -it 775c7c9ee1e1 /bin/bash  进入一个已经在运行的容器 

    目录挂载

    我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。

    创建容器 添加-v参数 后边为   宿主机目录:容器目录

    docker run -di -v /usr/local/helloworld:/use/local/helloworld --name=mycentos1 centos:7 --privileged=true

    看容器 IP 地址

    docker inspect NAMES
    docker inspect --format='{{.NetworkSettings.IPAddress}}' 5ac68dd7d20a

    删除容器

    docker rm ID

    交互式容器

    守护式容器

    创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。命令如下(容器名称不能重复):

    docker run -di --name=mycentos2 centos:7

    登录守护式容器

    docker exec -it mycentos2 /bin/bash

    Docker 退出容器不停止容器运行

    通常我们使用Ctrl+C退出正在执行的操作

    docker容器中使用Ctrl+D即可退出容器,但是这样会让容器停止运行。

    如果想退出容器但又不想让容器停止,使用Ctrl+P+Q即可

    部署

    mysql部署

    docker pull mysql:5.7
    //用户默认是root,密码默认是root的密码
    docker run -di --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
    docker exec -it mysql bash
    mysql -u root -p

    tomcat部署

    nginx部署

    Redis部署

    下载镜像

    docker pull redis

    创建容器

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

    查看Redis版本

    docker exec -it myredis redis-server -v

    重启Redis

    docker restart myredis

    迁移与备份

    容器保存为镜像

    docker commit pyg_nginx mynginx

    pyg_nginx是容器名称

    mynginx是新的镜像名称

    此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器

    镜像备份

    docker  save -o mynginx.tar mynginx

    -o 输出到的文件

    执行后,运行ls命令即可看到打成的tar包

    镜像恢复与迁移

    首先我们先删除掉mynginx镜像

    然后执行此命令进行恢复

    docker load -i mynginx.tar

    -i 输入的文件

    执行后再次查看镜像,可以看到镜像已经恢复

    无目录挂载-容器保存为镜像

    有目录挂载情况(难点)

    Dockerfile

    Docker私有仓库的搭建与配置

    资料

     https://www.cnblogs.com/edisonchou/p/dockerfile_inside_introduction.html

  • 相关阅读:
    数组、链表、Hash的优缺点
    数据库-索引的坏处,事务的级别,分布式事务的原理。
    4G内存的电脑,如何读取8G的日志文件进行分析,汇总数据成报表的面试题
    数据库常用的锁有哪些
    2020年最新 C# .net 面试题,月薪20K+中高级/架构师必看(十)
    ThreadX应用开发笔记之一:移植ThreadX到STM32平台
    net core 方法 返回值 重改?
    使用RestTemplate发送HTTP请求举例
    dedecms织梦手机站上一篇下一篇链接错误的解决方法
    多目标跟踪之数据关联(匈牙利匹配算法和KM算法)
  • 原文地址:https://www.cnblogs.com/cnki/p/8267711.html
Copyright © 2011-2022 走看看