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. 【Git】常用命令汇总

    一.仓库管理 git init:本地初始化 git clone:克隆远程仓库 git remote:远程仓库管理 git remote:查看远程仓库的信息 git remote -v:显示更详细的信息 ...

  2. Federated Learning002

    联邦学习笔记--002 2022.11.26周六 今天学习了联邦学习中又一篇很经典的论文--Federated Machine Learning: Concept and Applications(联 ...

  3. 如何有效检测、识别和管理 Terraform 配置漂移?

    作者|Krishnadutt Panchagnula 翻译|Seal软件 链接|https://betterprogramming.pub/detecting-identifying-and-mana ...

  4. 压制GIF做的一点点小尝试 以及ezgif的基本功能使用

    事情的起因 首先群友给我整了个loli莉音的视频 很可爱 但是用qq接收的视频没法一直在那边kawaii 图片本身很小其实 但是转gif就很大 转出来的gif的大小就大的唏嘘 寻找问题 这就是mp4的 ...

  5. 微服务探索之路06篇k8s配置文件Yaml部署Redis使用Helm部署MongoDB和kafka

    1 安装Redis 1.1创建配置文件redis.conf 切换到自己的目录下如本文是放在/home/ubuntu下 cd /home/ubuntu vim redis.conf bind 0.0.0 ...

  6. Blazor前后端框架Known-V1.2.8

    V1.2.8 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行. Gitee: https://gitee.com/known/Known Gith ...

  7. .NET技术:懒惰与沉淀的平衡之道

    在过去的很多年里,我一直默默搬砖,而我们聚在博客园,目的只有一个:沉淀并为更多的.NET开发者提供更好的帮助. 疫情3年,个人经历了太多事情,感觉懒惰是最大的敌人.然而,在这里,我收获了许多宝贵的经验 ...

  8. 从原理聊JVM(四):JVM中的方法调用原理

    1 引言 多态是Java语言极为重要的一个特性,可以说是Java语言动态性的根本,那么线程执行一个方法时到底在内存中经历了什么,JVM又是如何确定方法执行版本的呢? 2 栈帧 JVM中由栈帧存储方法的 ...

  9. jQuery Mobile 使用中的问题

    1.点击data-role="page"内的页面,会自动隐藏头部栏和尾部栏. 在data-role="header"或data-role="foote ...

  10. 《数据结构-C语言》单链表

    @ 目录 单链表 结构定义 初始化 建立 清空 求表长 判断是否为空表 取值 查找 插入 删除 销毁 遍历打印 测试 单链表 结构定义 #include <stdio.h> #includ ...