CentOS7 安装搭建docker环境

一、Docker简介

Docker 版本 :版本分为:社区版CE  企业版EE

社区版分为stable和edge俩种发行方式:
  stable版本:是季度版发行(三月一更新)
  edge版本:是月度版发行(一月一更新)

Docker容器技术(轻量级/操作系统虚拟化方式,由Linux内核支持)

Docker属于PaaS云,docker解决统一运行环境的问题
Docker是一个开源容器项目,诞生于 2013 年初,最初是 dotCloud公司内部的一个业余项目
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化

类别:操作系统层虚拟化 

优势:1、更快的交付和部署能力
    2、更高效的虚拟化
    3、更轻松的迁移和扩展
    4、更简单的管理
Docker的特点
  轻量:
  标准:
  安全:
容器由两部分组成:
  应用程序本身
  依赖:比如应用程序需要的库或其他软件
容器的核心技术:
  容器规范、容器 runtime、容器管理工具、容器定义工具、Registry以及容器OS

二、Docker安装

使用阿里云yum源安装Docker-CE

安装前提:NAT网络,可以ping通百度,上外网

cd /etc/yum.repos.d
find / -name  "*.repo" -exec mv {} {}.bak \;
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum -y install yum-utils      #安装yum工具包
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates   #列出dockerce版本
yum install docker-ce -y
systemctl start docker.service

useradd docker    #创建docker用户	
passwd docker

ll /run/docker.sock     
usermod -aG docker docker      #将用户docker加到docker组    

配置docker镜像加速器:

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://uvbz951q.mirror.aliyuncs.com"]
}
EOF

启动docker服务

systemctl daemon-reload
systemctl restart docker
systemctl enable  docker
docker info     #查看镜像加速是否成功

三、Docker应用示例及命令

docker search nginx   #搜索和nginx相关的镜像
docker pull nginx	#拉取镜像默认版本(下载)
docker pull nginx:1.13.2    #拉取镜像指定版本
docker run nginx       #运行一个镜像(如果启动后不做任何操作,容器就会断开连接)
docker run -it ubuntu  /bin/bash    #获取终端/bin/bash 打开容器(让容器运行在前台)
docker run -itd httpd  /bin/bash     #在后台运行新镜像
docker attach  id号       #将容器调到前台,进入up状态的容器内部
docker start  id号         #启动停止的容器(必须在docker ps 中有)
docker logs  ID号         #查看输出日志

exit         	//退出容器,容器是关闭状态
ctrl +p +q	//退出容器,并且容器是up状态
read escape  sequence  //退出容器,并且容器是up状态

docker ps -a 	      #列出所有的容器
docker ps		      #列出所有运行中的容器
docker container ls   #列出所有运行中的容器
docker ps -qa           #仅输出所有容器的id号
docker rm  ID号        #删除指定容器
docker rm -f             #删除正在运行的容器
docker rm -f `docker ps -qa`     #删除所有的容器

docker images          #列出所有镜像
docker rmi ID号        #删除镜像
docker save -o busy.tar busybox    #备份镜像
docker load -i busy.tar	           #导入镜像

容器意外中断:
docker run --restart always       #不管什么原因停止,全部自动重启
docker run --help                     #查看帮助
man docker run 	              #查看详细帮助
                                  

运行命令实例

eg:在容器内运行应用程序
docker run ubuntu:latest /bin/echo "Hello World"  运行一个容器并执行命令
	(一个容器只运行一个服务,运行完就被杀死了)
docker ps -a   查看

eg:运行交互式容器:
docker run -i -t ubuntu:latest /bin/bash
	-t:在新容器内指定一个伪终端或终端。
	-i:允许你对容器内的标准输入 (STDIN) 进行交互。

eg:让容器运行在后台
	-d   在后台运行
	-c   指定命令
docker run -d ubuntu:latest /bin/bash -c "while true; do echo "666"; sleep 1; done"
docker run -d  /bin/bash -c "for i in {1..100}; do echo $i;sleep 1;done"
docker logs  ID号   #查看输出日志
docker logs -f -t --tail=100 myredis    #查看最后100行日志,-f:跟踪实时日志 -t:显示时间戳 

 Docker运行容器用到的参数


docker run --name redis -p 6379:6379 -u root --privileged=true \
-v /etc/localtime:/etc/localtime \
-itd redis
-u root      #指定以root身份运行
--privileged=true #让container内的root拥有真正的root权限
-v /etc/localtime:/etc/localtime:ro  #修改容器的时间,与宿主机一致

 

没有朋友多孤独啊。 有了也一样 。

 

posted @ 2021-04-08 16:44  等风来~~  阅读(714)  评论(0编辑  收藏  举报