01 Docker 安装配置

docker简介

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。        

Docker官方文档 :https://docs.docker.com/
Docker官方镜像 :https://hub.docker.com

Docker的应用场景

  1. Web 应用的自动化打包和发布。
  2. 自动化测试和持续集成、发布。
  3. 在服务型环境中部署和调整数据库或其他的后台应用。
  4. 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

Docker 的优点

1、简化程序:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。

2、避免选择恐惧症:
如果你有选择恐惧症,还是资深患者。那么你可以使用 Docker 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

3、节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

Docker 架构

  1. Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
  2. Docker 容器通过 Docker 镜像来创建。
  3. 容器与镜像的关系类似于面向对象编程中的对象与类。



docker 安装

停止禁用防火墙

systemctl stop firewalld
systemctl mask firewalld

禁用 selinux

sed -i  s/SELINUX=.*/SELINUX=disabled/g  /etc/selinux/config

配置 yum 源,安装 docker

yum install docker-engine-1.12.1-1.el7.centos.x86_64.rpm   docker-engine-selinux-1.12.1-1.el7.centos.noarch.rpm

启动测试

systemctl start docker
systemctl enable docker 

ifconfig 启动后可以看见 docker0
docker version 查看docker版本信息

安装busybox镜像

    busybox是一个集成了一百多个最常用linux命令和工具的软件,他甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小.我们平时用的那些linux命令就好比是分立式的电子元件,而busybox就好比是一个集成电路,把常用的工具和命令集成压缩在一个可执行文件里,功能基本不变,而大小却小很多倍,在嵌入式linux应用中,busybox有非常广的应用,另外,大多数linux发行版的安装程序中都有busybox的身影,安装linux的时候案ctrl+alt+F2就能得到一个控制台,而这个控制台中的所有命令都是指向busybox的链接.
    BusyBox就是一柄锋利的瑞士
    BusyBox集成了各种linux的标准命令,毫不夸张的说,BusyBox可以简单地作为一个linux的发布环境(distribution)。比如,shell,editor(vi,sed,awk等), 系统管理(coreutils、tar、bzip等),网络应用(ping、ifconfig、wget等),用户管理(login、su、useraddな等),各种服务(crond、syslogd、httpd等),SELinux管理(load_policy、restorecon等)。

搜索

[[email protected] ~]# docker  search  busybox

下载

[[email protected] ~]# docker  pull  busybox

查看帮助

[[email protected] ~]# docker  help  pull

查看镜像

[[email protected] ~]# docker  images

导入镜像

[[email protected] ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

[[email protected] ~]# docker load < busybox.tar
    c5183829c43c: Loading layer  1.36 MB/1.36 MB
    Loaded image: busybox:latest32.77 kB/1.36 MB

[[email protected] ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    busybox             latest              f6e427c148a7        3 weeks ago         1.146 MB

导出镜像

docker save busybox >busybox.tar

利用镜像启动容器

docker run -it busybox /bin/shdocker run -it centos /bin/bash

查看容器列表

docker  ps

查看详细信息

docker inspect  21d2aeb977cc
docker inspect -f ‘{.NetworkSettings.IPAddress}‘ 21d2aeb977ccdocker 

问题列表,及解答

问题:docker run -it  busybox  /bin/bash  报错问题
原因:最后的命令是容器内部命令,容器内,存在才可以执行
可以不指定,不指定启动默认命令
问题:docker run -it  centos  退出后,配置全部丢失
原因:run 启动的是新的容器,老的容器退出后就停止了
启动管理一个老的容器可以使用 docker start|stop|restart
问题:老容器启动以后,怎么在进入?
docker  exec -it  容器id  /bin/bash
docker  attach    容器id

exec 与 attach 的区别
exec     单独启动命令运行,与容器启动的终端无关
attach  不启动新的命令,直接连接 console 终端
exec     退出不会影响容器的运行
attach  退出后,容器结束
问题:如果我使用attach 连接容器后,怎么才能不结束容器?
解决方法:把容器放后台,使用快捷键 ctrl + pq
问题:attach 为什么退出后,容器会结束?
因为 attach 连接进容器的 pid 1 的进程,当 attach 结束时候,pid 为 1 的进程被结束所有整个容器被销毁
问题:docker run -it  nginx  没响应?
因为 nginx 启动的默认 cmd 时 nginx daemon,该进程不是一个交互式的进程

原文地址:https://blog.51cto.com/xiaoqiangjs/2441936

时间: 2024-11-02 19:55:49

01 Docker 安装配置的相关文章

centos7 docker 安装配置

docker快速入门测试 ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#Docker [docker-ce-stable] name=Docker CE - Aliyun baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/ enabled=1 gpgcheck=1 gpgke

docker安装配置gitlab详细过程

获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下来镜像,只能在其它网路比较好的机器上pull下来镜像,导出成一个文件,再下载上传到网路不好的机器上,然后再从文件中导出来,这样在网络不好的机器上也能使用docker镜像了. 运行 1.通常会将 GitLab 的配置 (etc) . 日志 (log) .数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录. 1 2 3 mk

Docker学习笔记 之 Docker安装配置使用

简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal.OpenStack 集群和其他的基础应用平台. 环境:CentOS7.3 地址:192.168.1.137 首先注册阿里云开发者帐号帐号 https://cr.console.aliyun.com/ 登陆后取得专属加速器地址:https://XXXXX.mirror.aliyuncs.com

docker 安装配置

? 安装环境 centos7.2 [[email protected] ~]#sudo yum install -y docker 配置镜像加速器 (阿里云) 1.注册阿里云账户 2.访问阿里云加速器 3. 在centos中执行自己阿里云加速其器的配置命令 ? ? 查看安装成功 1.启动docker systemctl start docker 2.执行 docker run hello-world 如下图显示为安装成功 ? 拉取镜像 docker pull [选项] [Docker Regis

Docker 实践 01 Docker安装

ubuntu安装Docker 1.安装curl工具 copy #apt-get update   #apt-get install curl 2.通过脚本安装docker copy #curl -fsSL get.docker.com -o get-docker.sh   #sh get-docker.sh --mirror Aliyun 3.配置镜像加速器 #curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s htt

docker安装配置

因为 Docker 推荐使用 3.8 以上内核,所以我们选择使用 YUM 方式来升级内核,在 YUM 的 ELRepo 源中,有 mainline(3.13.1).long-term(3.10.28)这2 个内核版本,考虑到 long-term 更稳定,会长期更新,选择这个版本. 1.升级内核到3.10 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org ll /etc/yum.repos.d/rpm -Uvh http://ww

docker安装配置和基本语法使用

1.安装docker wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm yum -y install docker-io yum -y install lxc libcgroup yum upgrade device-mapper-libs 2.开启docker服务 /etc/init.d/docker  star

ES.01.Elasticsearch安装配置

Windows版 提纲: 1.   安装Elasticsearch 1.1. 下载Elasticsearch: https://www.elastic.co/cn/downloads/elasticsearch,添加系统变量. 1.2.  运行es,切换到bin目录,运行elasticsearch.bat. 1.3   访问服务http://localhost:9200. Ps:es默认端口号为9200. 2.   安装可视化插件(非必要,看个人需要) 2.1. 下载head (elastics

01.Docker安装MongoDB

查询MongoDB镜像 docker search mongo 拉取MongoDB镜像 docker pull mongo # 拉取指定版本镜像 docker pull mongo:3.4 启动MongoDB容器 docker run -p 27017:27017 --name mymongo -d mongo 进入MongoDB交互模式 docker exec -it <CONTAINER NAME> mongo admin 原文地址:https://www.cnblogs.com/Jcon