linux系列docker容器虚拟化

Centos7系列

docker安装前的准备工作

能通公网

 systemctl stop firewalld
 systemctl disable firewalld
 systemctl stop NetworkManager
 systemctl disable NetworkManager
  • 永久、临时关闭selinux
[root@bogon ~]# cat /etc/sysconfig/selinux 
---------------------------------------------------------
SELINUX=disabled  #永久关闭
--------------------------
setenforce 0  #临时关闭
  • CentOS-Base.repo要放在/etc/yum.repos.d/下
  • 需要制作本地yum源
  • 安装docker-CE社区版本

一、用yum清掉旧的docker版本

yum -y remove docker

二、安装依赖

yum -y install yum-utils device-mapper-persistent-data lvm2

三、添加docker-ce版本的yum源配置文件

curl https://download.docker.com/linux/centos/docker-ce.repo \-o /etc/yum.repos.d/docker-ce.repo
或
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

四、yum开始安装docker-ce社区版

yum -y install docker-ce docker-ce-cli containerd.io 

五、初始化操作

systemctl start docker
systemctl enable docker

六、验证版本

[root@bogon ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.14
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        a224086
 Built:             Thu Mar 24 01:49:57 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

七、添加docker国内镜像源(默认国外镜像源,下载很慢,需要改回国内的)

 cat /etc/docker/daemon.json              # 配置镜像加速器
{ 
  “registry-mirrors”:[“https://registry.docker-cn.com”],
  "max-concurrent-downloads":1
}{ 
   "registry-mirrors": ["https://m2lv5yea.mirror.aliyuncs.com"]
}{
  "storage-driver": "overlay2",
  "insecure-registries": ["registry.access.redhat.com","quay.io"],
  "registry-mirrors": ["https://60699eq2.mirror.aliyuncs.com","https://registry.docker-cn.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "live-restore": true,
  "log-opts": {
  "max-size": "100m"
   },
  "data-root":"/data/docker"
}

systemctl daemon-reload
systemctl restart docker

八、docker常用的命令

  • docker search centos #查找镜像源,私人上传的镜像,必须以作者名/镜像名方式上传
  • docker pull hello-world #下载镜像 镜像名字:版本号
    docker pull centos:7
  • docker imagesc #查看本地所有镜像.镜像还没解包,起容器才是是解包
  • docker build -t Mr.wu/centos7:v1 .
    Mr.wu:作者名 centos7:镜像名 v1:版本号
    . 代表构建镜像配置文件Dockerfile的位置
    -t 代表指定镜像名称
    1)创建Dockerfile的存储目录
    例:mkdir -p /db/dockerfile/library/centos/7
    cd /db/dockerfile/library/centos/7
    2)创建docker.sh脚本 #容器要想启动,里面至少要封装一个永久不退出的进程;没有进程,容器起不来,所以需要配一个无限循环脚本
cat docker.sh                  
#!/bin/bash                    
while true
do                            #docker公网的镜像仓库dockerhup
   echo “Hello.world”     
   sleep 2
done

3)创建Dockerfile的配置文件,名称必须是Dockerfile
cat Dockerfile (Dockerfile相当于images的配置文件)
FROM centos #此镜像基于centos操作系统之上,centos操作系 统的镜像本地必须有;本地没有操作系统,会自动从公网镜像仓库下载
LABEL MAINTATNER=“Mr.wu.com” #作者的名字
RUN ln -sfv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ln -s软链接 f:强制覆盖 v:有信息输出启用镜像时区为上海时区
COPY docker.sh /home/test/
RUN chmod +x /home/test/docker.sh
CMD [“/home/test/docker.sh”]
开始构建镜像,执行docker build -t Mr.wu/centos7:v1 .
docker run -dit -name 容器名 ImageID/镜像名 /bin/bash
创建容器并且运行,镜像启动以后叫容器。-d代表后台运行-i代表 在容器里可以使用命令交互 –t制作一个伪终端用于登录。所以-dit 参数必须加!末尾/bin/bash也可以不加,不加启用CMD执行;加了/bin/bash,就不会启用Dockerfile中的CMD!

  • docker run -dit --name nginx_test -p 80:80 nginx:latest
    #把本地的80端口映射到容器的80端口在启动镜像
    0.0.0.0:80 –> 80/tcp
    代表本地任意IP的80端口以tcp协议映射到容器的80端口
    curl 127.0.0.1 显示NGINX的网页内容
  • docker ps #查看所有容器的进程,包括运行退出的
  • docker ps -a #查看正在运行的容器的进程
  • docker logs 容器名/ID号 #查看容器的日志
  • docker attach 容器名/容器ID号
    #从本地系统切入到容器里,此命令不常用
    exit 退出容器,代表/bin/bash退出,容器里没有进程了
  • docker stop 容器ID号/容器名 #停止正在运行的容器的进程
  • docker start 容器ID号 #运行(已停止的)容器
  • docker rm 容器ID号 #删除已经停止的容器,先停后删
  • docker rmi 镜像名/Image号
    删除镜像之前,先确定镜像没有启动成容器,先停容器再删容器后 删镜像
    docker commit 容器名 新镜像名
    例:docker commit test1 Mr.wu/centos7:v2
    代表将更改后的容器进程保存为一个新的镜像(比如切到容器里, 执行一个简单的命令mkdir -p /nsj/raptor4003 然后exit,提交成一个新的镜像
  • docker exec 容器名 执行命令
    #在本地系统直接向容器下达命令,不用切到容器里
    docker exec -it test /bin/bash 可以切进容器里,exit后,容器进程仍在.优于attach
  • docker cp 本地系统的文件 容器名:/目录/
    用于容器进程和本地系统之间相互复制文件
    docker cp docker.sh test1:/nsj/
    docker exec test1 ls /nsj
    docker cp test1:/nsj/yum.log /tmp
  • docker create -it ImageID
    创建容器但不直接运行,运行可以用start
  • docker diff 容器名
    #比对容器和原始镜像的区别,有哪些已经改变的文件或文件夹
    docker diff test1
    C /root/.bash_history # C代表多东西 A代表少东西
    A /tmp/docker.sh
  • docker events #时时监测容器的变化情况,监控命令
  • docker export 容器ID号/容器名 > 容器.tar
    将容器里的进程(导出容器)导出为.tar包,放到本地,导回就成镜 像了
  • docker import 容器.tar Mr.wu/centos7:3
    例: docker import test1.tar Mr.wu/centos7:3
    #将导出的.tar包创建成一个新镜像
  • docker history ImageID号/镜像名
    #查一个镜像的历史修改记录
  • docker info
    #查看当前操作系统的docker运行信息
  • docker inspect ImageID号/镜像名
    #查看指定镜像的详细信息、配置文件
  • docker kill 容器ID号/容器名
    #强行停止一个或多个正在运行的容器进程,比stop效果快
  • docker save 镜像名 > 镜像名.tar
    #将一个本地的镜像(导出镜像)导出为.tar包放到本地
  • docker load < 镜像名.tar
    #用于将save导出的.tar包重新加载回镜像,和原来的镜像名字、ImageID完全相同
  • docker logs 容器ID号 #用于输出容器进程内的日志
  • docker pause 容器ID号 #暂停容器进程
  • docker unpause 容器ID号 #恢复容器进程
  • docker port 容器名
    输出容器端口映射及协议,一般可以被代替docker ps -a
    #docker run -dit --name nginx_test -p 80:80 nginx:latest
    例:把本地的80端口映射到容器的80端口在启动镜像
    0.0.0.0:80 –> 80/tcp
    代表本地任意IP的80端口以tcp协议映射到容器的80端口
    curl 127.0.0.1 显示NGINX的网页内容
  • docker rename 容器旧名 容器新名 #给容器进程改名
  • docker restart 容器ID号 #重启容器进程
  • docker stats 容器ID号
    -用于实时输出容器的资源使用情况,类似top
  • docker tag Mr.wu/centos:3 Mr.wu/centos:4
    类似创建镜像的软链接,两个镜像的ID号都一样,根据ID号,两个可以一起强删
  • docker top 容器ID号 #查看指定容器的进程信息
  • docker update –help
    #调整一个或多个容器的启动配置,可以配置CPU和内存的参数并启动 镜像
  • docker version #查看docker的版本信息
  • docker wait 容器ID号
    捕捉一个或多个容器的退出状态,并返回退出状态码
  • login && logout && push
  • login:登录docker hup官方公有仓库
  • logout:退出docker hup 官方公有仓库
    push:用于将本地镜像推到docker hup 官方公有镜像仓库
  • docker hup官方公有镜像仓库 https://hup.docker.com/
    docker hup 国内无法注册账户

安装docker-compose

版本一

curl -L “https://github.com/docker/compose/releases/download/v2.1.1/docker-compose- ( u n a m e − s ) − (uname -s)- (unames)(uname -m)” -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

版本二(pip方式安装)

yum -y install python3
wget https://bootstrap.pypa.io/pip/3.6/get-pip.py instead

wget https://bootstrap.pypa.io/get-pip.py

wget https://bootstrap.pypa.io/pip/3.6/get-pip.py
python3 get-pip.py
pip -V
pip install docker-compose
docker-compose version

安装查看docker启动容器的命令runlike

yum -y install python36
pip3 install runlike
runlike -p 容器名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值