Centos7 环境创建docker

Docker是一个容器,安装在宿主机(比如一个安装好的centos7虚拟机)上,一个宿主机可以装多个docker,每个docker的环境互不干扰。

Docker镜像相当于linux虚拟机的一个镜像,但linux虚拟机镜像安装好了只是一个linux环境,没有任何已安装好的 应用或者软件包;而docker的镜像可以包含有安装好的 应用或者软件包。

比如:用一个含有centos+nginx+mysql+php的docker镜像新建一个docker,那么新建好的docker就是一个 centos+nginx+mysql+php 的环境,这个docker新建好,进入docker就可以用这个lnmp环境,就不再动手安装lnmp了,挺棒的!

思路:

1. yum 安装docker

2. 启动docker服务

3. 下载docker镜像

4. 安装docker镜像

5. 进入,退出docker

6. 重点讲解

一. yum 安装docker

执行命令 yum install –y docker-io

二.启动docker服务

systemctl  start docker.service (启动docker服务)

systemctl  enable docker.service (设置为开机启动)

systemctl  start docker.service (停止docker服务)

三. 获取docker镜像

方法一下载:

官网下载:

docker pull centos:latest (官网下载centos镜像,最新版)

docker pull ubuntu (官网下载ubuntu 的docker镜像 所有版本)

其他网站下载

#阿里云

docker pull registry.cn-hangzhou.aliyuncs.com/acs-sample/redis-sameersbn

#时速云

docker pull index.tenxcloud.com/tenxcloud/ubuntu

#网易蜂巢

docker pull hub.c.163.com/xbingo/jdk8:latest

方法二复制:

#先看看有没有想要的镜像

docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

centos              latest              9baab0af79c4        6 weeks ago         196.8 MB

#导出到tar文件

docker save 9baab0af79c4 > /home/mycentos-save-1204.tar

#拷贝到目的机器文件夹

#进入目的机器文件夹

cd /opt

#把docker镜像导入目标机器

docker load <centos-dockerimages.tar

#看看镜像导成功没有

docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

centos              latest              9baab0af79c4        6 weeks ago         196.8 MB

附:删除docker镜像方法: docker rmi 镜像id (镜像id 可用docker images 查看)

四. 安装docker镜像

a. 简单安装一个docker

docker run --rm -ti centos:latest /bin/bash

这条命令如果没有centos:latest 镜像,会在官网自动下载完后再安装) 意思是通过镜像centos:latest创建了一个未命名的容器,run就是运行并创建容器,--rm是当容器退出就直接删除容器的意思,-ti的意思是创建了容器之后立刻进入交互模式,/bin/bash则是指定在容器内执行什么操作,一般来说,视乎镜像包含了什么软件和环境,你的容器就有什么软件和环境.

b. 完整命令安装一个docker

docker run -ti -e "TZ=Asia/Shanghai" --name testweb1 --restart=on-failure:3 -c 250 -m 1g --memory-swap=-1 -p 8001:80 -p 22222:22 -v /data/webdata:/data/htdocs/www centos/test:webdemo1  /bin/bash

意思就是创建一个容器,用镜像centos/test:webdemo1来做模板,设置时区是Asia/Shanghai,名字叫testweb1,分配了250份cpu和1G内存,把母机8001端口映射到容器的80端口,把22222端口映射给22端口,把目录/data/webdata挂载到/data/htdocs/www,在容器内运行初始化脚本/bin/bash,这样你想要的容器就搭建完成了,你用web访问母机IP加8001端口就能访问了,想ssh登录就用22222端口.

附:删除已创建docker 方法:

docker rm 容器名(或者容器ID)删除没有运行的容器:

docker rm –f 容器名(或者容器ID)删除运行的容器:

docker rm -f `docker ps -a -q`  删除所有容器

docker rm `docker ps -a -q`  删除非运行的容器

docker rm `docker ps -a | grep Exited | awk‘{print $1}‘`  删除异常退出的容器

五. 进入,退出docker

a 查看已经安装docker :命令docker ps –a

b. 进入名为yzt_newips_core 的docker :docker exec –ti yzt_newips_core bash

c. 退出docker:命令 exit



六. 重点讲解

先来看看常用命令和参数解析:

docker images:    查看本地已经存在的镜像,-a 列出所有(默认不包括中间镜像);

docker rmi IMAGE:    删除指定的镜像,-f 强制删除;

docker ps:    查看运行中的 Docker 容器,-a 列出所有(默认不包括未运行的容器);

docker rm CONTAINER:    删除指定的容器,-f 强制删除;

docker attach containerID:    进入指定ID的容器内,不过要慎用,有隐患,建议用docker exec -it  containerID/containerNAME bash来替代

docker inspect containerID:    查看指定ID的容器配置

docker commit containerID 镜像名:    将指定ID的容器制作成镜像,方便以后复用,可以重新提交来更新镜像

-d :    后台运行容器,并返回容器ID;

-i :    以交互模式运行容器,通常与 -t 同时使用;

-t :    为容器重新分配一个伪输入终端,通常与 -i 同时使用;

-c:    分配cpu资源,并不是按核数区分,可以分配1-1024任何一个数字,默认是1024,只是一个对比值,比如A和B两个容器,A配置的是1024,B配置的是512,那么A最大可以使用的CPU资源是B的两倍,如果A容器一直闲着,那B容器还是可以使用空闲资源的。

-m:    分配内存,支持k/m/g/t/p单位,例如分配1G内存:-m 1g

--memory-swap:    分配多少(非负数值)swap资源,-1即完全不分配

-p:    映射母机端口到容器端口,例如:将母机的8001端口映射给容器的80端口:-p 8001:80,将母机内网44444端口映射到容器的22端口:192.168.1.10:44444:22,甚至可以把tcp协议换成udp(我是不太建议):192.168.0.225:300:3000/udp

-v:    把母机的文件夹挂载到容器内的文件夹,例如将母机的/data/soft挂载到容器内的/soft文件夹:-v /data/soft:/soft

--name="nginx-lb" :    为容器指定一个名称(和计算机名不是一回事);

--dns 8.8.8.8 :    指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com :    指定容器DNS搜索域名,默认和宿主一致;

-h "mars":     指定容器的hostname(和容器名不是一回事);

-e username="ritchie" :    设置环境变量;

--env-file=[]:     从指定文件读入环境变量;

--net="bridge" :    指定容器的网络连接类型,支持 bridge /host / none

--restart=on-failure:3 :    容器意外停止后的操作方式,这里是尝试重启3次的意思

时间: 2024-07-31 01:29:04

Centos7 环境创建docker的相关文章

Docker学习(二)Centos7环境安装Docker

前言 windows10 64位专业版本才可以使用docker Centos安装可以参考 ,基于安装完成的Centos进行今天的docker安装 Docker学习(一)环境准备安装centos7 环境准备 安装docker持久化包和yum工具包 yum install -y yum-utils device-mapper-persistent-data lvm2 yum-utils 简化yum安装的工具包,后面会用到相关命令修改镜像加速,非必选 device-mapper-persistent-

在CentOS7上安装docker篇

一.在CentOS7上安装docker篇 1. 查看系统版本: $ cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) 2. 安装docker $ yum install docker 安装过程中报错: Transaction check error: file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.

一步步创建第一个Docker App —— 2. 创建 Docker化 主机

原文:https://docs.docker.com/engine/getstarted-voting-app/node-setup/ 部署voting app的第一步,是为集群节点(swarm nodes)创建 Docker machines.我们可以在不同的实体PC.虚拟机或者云服务器上创建这些 Docker化 的主机. 在本例中,我们使用Docker Machine来创建两个虚拟机(virtual machines)在同一个系统上(See Docker Machine Overview t

CentOS7离线安装docker问题解决

# CentOS7离线安装docker问题解决 [TOC] 因某些环境,不能联外网,所以使用docker yum源方法行不通,于是打算离线安装. 按此博客的方法http://www.cnblogs.com/aguncn/p/6863710.html,下载相应rpm安装. `rpm -ivh *.rpm --nodeps --force` 安装后,启动,报库文件缺少错误,下面是整个问题和解决过程: ``` [[email protected] ~]# /usr/bin/dockerd /usr/b

在生产环境使用Docker部署应用

导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产环境使用Docker部署应用程序的一个实践. Docker是现在开发应用程序的不错选择:因为对于一个研发组来说,部署一个应用再也不用像以前那样繁琐的修改.设置配置文件了:因为对于Docker来说它“屏蔽”了应用程序的运行环境,不管你使用Mac.Linux还是Windows都能用相同的方式运行. 但是

Hyperledger fablic 0.6 在centos7环境下的安装与部署

原文:http://blog.csdn.net/zhaoliang1131/article/details/54617274 Hyperledger Fabric超级账本 项目约定共同遵守的 基本原则 为:重视模块化设计,包括交易.合同.一致性.身份.存储等技术场景:代码可读性,保障新功能和模块都可以很容易添加和扩展:演化路线,随着需求的深入和更多的应用场景,不断增加和演化新的项目. 目录 Hyperledger Fabric超级账本 目录 一安装docker 二安装docker-compose

Linux(centos7)下安装Docker

近期公司开始推Docker技术.这个系列的文章都是基于CentOS7系统下进行讲解的. Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口.Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器.Docker 容器通过 Docker 镜像来创建.容器与镜像的关系类似于面向对象编程中的

微服务架构 - CentOS7离线部署docker

原文:微服务架构 - CentOS7离线部署docker 1.环境准备 系统环境为: CentOS Linux release 7.5.1804 (Core) 安装docker版本为: 17.12.0-ce 2.准备部署文件 在http://mirrors.163.com/centos/7/os/x86_64/Packages/中下载如下rpm安装包: audit-2.8.4-4.el7.x86_64.rpm audit-libs-2.8.4-4.el7.x86_64.rpm libselinu

Centos7 环境准备

Centos7 环境准备 #关闭防火墙 systemctl stop firewalld systemctl disabled firewalld #关闭selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/sysconfig/selinux setenforce 0 #yum源 rm -f /etc/yum.repos.d/* wget -O /etc/yum.repos.d/CentOS-Base.repo http://mi