docker 安装部署-yun

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 yum install -y docker-ce 
 yum list docker
 service docker start
 ps -ef|grep docker  
  docker version


docker-ce.repo源:
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

概念:

1)学习Docker企业应用之前,必须掌握Docker三个核心概念:

n 镜像

镜像中包含了各种应用程序、软件服务、数据等内容的模板文件,是静止、只读的,不能被修改,类似Linux系统ISO镜像文件,是用于启动Docker容器(轻量级的虚拟机)。

n 容器

基于镜像运行之后的实例,没有镜像就没有容器,容器是可读、可写的,容器启动之后一直需要底层镜像的,镜像文件不能删除的。容器所需的数据、文件可以从镜像模板中读取和调用,镜像是容器系统的底层基石。

n 仓库

仓库是用于存储Docker镜像(静态模板文件)的地方,仓库一般分为公共仓库、私有仓库,企业测试环境、生产环境推荐自建私有仓库,不推荐使用公共仓库(外网仓库)。 基于Docker虚拟化平台,启动一台Nginx WEB应用容器(轻量级的虚拟机),Nginx应用容器只包含Nginx软件服务,要求直接启动Nginx WEB服务,并且监听80端口,用户通过浏览器能够访问Nginx默认网站代码

简单操作

Run,全新创建一台容器;
-i,interactive交互模式;
-t,tty打开登陆终端;
-d,detach后台运行、启动;
-p,publish发布端口,将宿主机80(第一个)DNAT映射至容器的80;
docker search nginx
docker pull docker.io/nginx ll /var/lib/docker/imges/
docker images
docker images|grep nginx docler run -itd -p 80:80 nginx
docker ps
查看容器IP
docker ps|awk NR>1 '{print $1}'
for i in `docker ps|awk NR>1 '{print $1}'`;do echo $i;docker inspect $i|grep -i ipaddr|awk -F\" '{print $4}'|tail -1;done|sed 'N;s/\n/,/g'
for i in `docker pa|awk NR>1 '{print $1}'`;do echo $i;docker inspect $i|grep -i ipaddr|grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}"|tail -1;done|sed 'N;s/\n/ /g'
for i in `docker pa|awk NR>1 '{print $1}'`;do echo $i;docker inspect $i|grep -i ipaddr|grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"|tail -1;done|sed 'N;s/\n/,/g'
for i in `docker pa|awk NR>1 '{print $1}'`;do echo $i;docker inspect $i|grep -i ipaddr|sed 's/"//g;s/,//g;s/://g;s/IPAddress//g;s/ //g'|tail -1;done
docker inspect ddec2321112a|grep -i ipaddr|tail -1|sed 's/"//g;s/,//g;s/://g;s/IPAddress//g;s/ //g' 批量启动100容器
for i in `seq 0 99`;do docker run -itd -p 80$i:80 nginx;done 删除
docker rm -f ddec2321112a
for i in `docker ps|awk NR>1 '{print $1}`';do docker rm -f $i;done
导入镜像 先上传镜像
docker load < nginx.tar 进入容器
docker exec -it ddec2321112a /bin/bash
find / -name nginx.conf
docker cp ddec2321112a:/etc/nginx/nginx.conf ./
docker cp nginx.conf ddec2321112a:/etc/nginx/ wget www.baidu.com
docker cp index.html ddec2321112a:/usr/share/nginx/html/ 重启容器
docker restart ddec2321112a
 
基于Docker启动CentOS(Guest OS)容器
给docker加个速:vim /etc/docker/daemon.json 添加如下内容,然后重启docker服务

{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com",
"https://registry.docker-cn.com"
]
}
搜索centos镜像
docker search centos
docker pull docker.io/ansible/centos7-ansible
docker images|grep centos
docker run -itd -p 6022:22 --privileged docker.io/jdeathe/centos-ssh docker ps 查看IP地址
docker inspect 430cf15e57d4|grep -i ipaddr|tail -1|awk -F\" '{print $4}'
docker inspect 430cf15e57d4|grep -i ipaddr|tail -1|grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}" docker虚拟机需要启动sshd服务:
docker exec -it 430cf15e57d4 /bin/bash
yum install openssh-server
rpm -qa|grep openssl
启动
/usr/sbin/sshd
可能会报错:(以下内容为虚拟机没有这三文件)
[root@507c1cad6814 /]# /usr/sbin/sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting. 解决方法:(退出虚拟容器,从宿主机拷贝进来即可)
[root@localhost ssh]# docker cp ssh_host_rsa_key 507c1cad6814:/etc/ssh/
[root@localhost ssh]# docker cp ssh_host_ecdsa_key 507c1cad6814:/etc/ssh/
[root@localhost ssh]# docker cp ssh_host_ed25519_key 507c1cad6814:/etc/ssh/ 重新进入容器:430cf15e57d4为IP
docker exec -it 430cf15e57d4 /bin/bash
/usr/sbin/sshd
ps -ef|grep ssh
netstat -nutlp
此时22端口以起来了,但是不知道密码,修改下为1,IP是宿主机IP,用户root
passwd
1
1

Docker镜像制作方法
#将一个容器导出成为一个tar包镜像(丢失容器内存中指令);
docker export c090c6b55449 > centos7-ssh-v1.tar (export会丢失某些内容)
docker save af209728ef8e >centos7-ssh.tar
#将centos7-ssh-v1.tar导入Docker镜像列表;
cat centos7-ssh-v1.tar|docker import - centos7-ssh-v1
#基于导入的centos7-ssh-v1创建新的虚拟机;
docker run -itd --privileged -p 6024:22 -p 83:80 centos7-ssh-v1
#让启动的CentOS虚拟机,能够在前台一直运行(永不退出);
docker run -itd --privileged -p 6024:22 -p 83:80 centos7-ssh-v1 /bin/bash
docker run -itd --privileged -p 6025:22 -p 84:80 centos7-ssh-v1 sleep 9999d

docker简单部署的更多相关文章

  1. Docker简单部署Ceph测试集群

    通过docker可以快速部署小规模Ceph集群的流程,可用于开发测试. 以下的安装流程是通过linux shell来执行的;假设你只有一台机器,装了linux(如Ubuntu)系统和docker环境, ...

  2. Docker 简单部署 ElasticSearch

    https://www.cnblogs.com/jianxuanbing/p/9410800.html

  3. SpringBoot | 第十四章:基于Docker的简单部署

    前言 讲解了单元测试,本章节讲讲应用的部署吧.总体而言,在进行自动化部署时,基本都会用上Jenkins+Maven+Docker进行部署.本章节主要讲解使用Maven+Docker进行SpringBo ...

  4. 在Docker下部署Nginx

    在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_p ...

  5. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器 ...

  6. Docker简单介绍

    Docker简单介绍 Docker是一个能够把开发的应用程序非常方便地部署到容器的开源引擎.由Docker公司团队编写,基于Apache 2.0开源授权协议发行.Docker的主要目的例如以下: 提供 ...

  7. 从头认识一下docker-附带asp.net core程序的docker化部署

    从头认识一下docker-附带asp.net core程序的docker化部署 简介 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是 ...

  8. Docker安装部署redis

    借鉴博客:https://my.oschina.net/u/3489495/blog/1825335 待续... >>>>>>>>>docker安 ...

  9. 私活利器,docker快速部署node.js应用

    http://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维, ...

  10. .net core 微服务架构-docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务(asp.net core web api)

    本文主要介绍通过Docker来部署通过.Net Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(asp.net c ...

随机推荐

  1. Unity中的PostProcessBuild:深入解析与实用案例

    Unity中的PostProcessBuild:深入解析与实用案例 在Unity游戏开发中,我们经常需要在构建完成后对生成的应用程序进行一些额外的处理.这时,我们可以使用Unity提供的PostPro ...

  2. Chrome浏览器,有道云笔记的网页剪报需要多次登录且收藏失败报错

    报错代码 {"canTryAgain":false,"scope":"SECURITY","error":"2 ...

  3. Hexo博客Next主题配置加载优化性能提升

    主题源加载优化 把在NexT主题的_config.yml里面的: # Uri of fonts host. E.g. //fonts.googleapis.com (Default) host: 改为 ...

  4. PNG结构

    参考此博客 PNG的文件头总是固定的八个字节 89 50 4E 47 0D 0A 1A 0A 数据块长度13 00 00 00 0D 文件头数据块标识IDCH 49 48 44 52 13位数据块(I ...

  5. 西门子HMI切换页面时的指示功能

    怎么样才能做到像这样按下切换界面的按钮,切换过去之后对应的切换按钮还进行高亮指示呢? 首先我们要先新建模板,把我们的画面拖拽到模板里就会形成按钮 在画面的"属性"中 在属性中选上我 ...

  6. 升讯威在线客服系统是如何实现对 IE8 完全完美支持的(怎样从 WebSocket 降级到 Http)【干货】

    简介 升讯威在线客服与营销系统是基于 .net core / WPF 开发的一款在线客服软件,宗旨是: 开放.开源.共享.努力打造 .net 社区的一款优秀开源产品. 完整私有化包下载地址 https ...

  7. 【go笔记】使用WaitGroup控制协程退出

    前言 正常情况下,主协程一旦退出,其子协程也会全部中止并退出.为了阻塞主协程,可以使用time.Sleep(),也可以使用WaitGroup. 用法说明 // 导入sync import " ...

  8. TRL 正式推出,来训练你的首个 RLHF 模型吧!

    我们正式向大家介绍 TRL--Transformer Reinforcement Learning.这是一个超全面的全栈库,包含了一整套工具用于使用强化学习 (Reinforcement Learni ...

  9. [Lua] IT技术熟练度生成器 | 根据IT活动记录生成md表格 | 自创

    IT技术熟练度 v1.0 为衡量个人能力水平自创的一套评分机制,根据时间.代码行数.基础理论三个变量生成.最近在学lua,正好练下基本功.效果可见 个人介绍 | 代码统计 - 小能日记 - 博客园 ( ...

  10. 领域驱动设计(DDD):三层架构到DDD架构演化

    三层架构的问题 在前文中,我从基础代码的角度探讨了如何运用领域驱动设计(DDD)来实现高内聚低耦合的代码.本篇文章将从项目架构的角度,继续探讨三层架构与DDD之间的演化过程,以及DDD如何优化架构的问 ...