centos6.5/centos7安装使用docker

本文介绍了Docker容器技术的基本概念,包括如何安装和配置Docker环境、创建和管理容器及镜像,同时还涉及了网络隔离和端口映射等高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker是一种容器,轻量级虚拟化技术,可以将系统/应用/代码打包到一个可移植的容器中。


容器:可以将若干进程禁锢起来运行。就像集装箱。


码头工人docker:负责集装箱的管理和搬运工作。


docker可以隔离:文件系统、用户和组、设备网络。


镜像和容器


镜像是用来创建并且启动容器的文件系统。


镜像文件系统包含容器启动时需要的命令工具、依赖包、应用APP等。


docker会把需要的用户程序、依赖包开机需要的启动的服务打包为tar格式的镜像文件,这些镜像文件是创建并启动容器的基础。




docker镜像可以分层 增加,镜像是只读的,使用镜像启动了一个容器时,容器就是镜像启动后的一个实例。






创建docker yum源


[docker]
name=docker
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg




yum -y install docker-engine 的主要目的是可以让我们启动和管理容器


vim /etc/sysctl.conf 
net.ipv4.ip_forward=1






启动一个容器需要docker镜像


docker version 查看docker版本




systemctl start docker.service 启动docker服务


systemctl enable docker.service 设置docker开启自启动


systemctl status docker.service 查看服务状态


docker info 查看docker信息


启动一个容器需要docker镜像


docker pull hello-world    去docker hub(docker官网)下载一个镜像


docker run hello-world   启动一个镜像


显示以下信息表示docker已经正常工作
Hello from Docker!
This message shows that your installation appears to be working correctly.




容器:
docker images 查看镜像 




docker run -itdp centos bash (i交互模式,t伪终端 d守护进程 p将docker和物理机端口绑定 ) 启动centos镜像,打开一个bash程序。
docker run -id centos 使用centos镜像启动容器
根据容器ID进入容器
docker exec -it 72 bash 进入容器
docker ps 查看容器
docker inspect 16 查看容器底层信息




docker top 容器ID全称/简称  查看容器运行的进程列表




exit 关闭容器,停止


dcoker pa -a 查看所有容器
docker ps 查看运行的容器


docker top 72 查看容器内运行的程序


镜像制作:


Dockerfile:可以制作镜像,镜像可以用来启动docker容器。
docker启动容器的shell/echo之类的不常驻内存的进程,exit后容器自动消亡。


Dockerfile的编写格式
From centos (基础镜像,所以操作的基础)
MAINTAINER zhanggen zhanggen@le.com(镜像作者和邮箱)
WORKDIR /tmp (指定使用该镜像启动容器后,默认的工作目录。)
ADD boot /dockerfile(把当前真实机的目录boot 打包到镜像里面/dockerfile目录下)
EXPOSE 80 开启端口
RUN mkdir /dockerfile/  (运行的命令)
ENV = Jacob (设置变量)
CMD echo "test"(启动容器后自动执行该命令,类似开机自启动程序。)
ENTRYPOINT ["http","-DFOREGROUND"] (和CMD类似但是entrypoint 在运行容器时添加了参数也不会被覆盖掉,-DFOREGROUND" 永不退出)


dock historyer centos 查看打包过程


docker build -t testimage .  (使用dockerbuild 创建一个镜像,会启动一个容器)


-t testimage指定名称 .读取当前目录下dockerfile文件


docker inspect 查看docker的底层信息




镜像传播


docker save nginx > nginx.tar (将镜像打成tar包)发送


docker load < nginx.tar 将传过来的tar包制作成镜像文件


端口映射
docker run -d -p 8080:80 nginx
开启nginx容器,将主机8080端口映射到容器的80端口


目录映射:docker容器中的数据是临时的,所有需要目录映射
dcoker run -d -v /html/ : /html 74 (注意需要关闭selinux)
将服务器的 目录 挂载到 容器




 


进入容器:


docker exec -it 72 bash    进入容器


关闭容器


docker stop 容器名 停止容器


docker restart 容器 重启容器


docker rm 容器  删除容器数据


docker rm 'docker ps -'aq'删除全部容器


docker rmi 镜像名称/id  删除镜像 






创建镜像


第一种方式:在现有容器上部署想要的业务,完成后将容器打包成镜像,在通过镜像启动新容器。


docker commit -a 'zhanggen' -m  "test imge" 72e test
                   作者           注释       使用的容器名称  要创建的镜像名称


docker run -id test 使用test创建一个容器








name space: 通过一个网桥的各个端口将各个name space(隔离空间)连接起来


创建隔离空间(name space): ip netns add namespace1 netns add namespace1


查看隔离空间中的IP地址:ip netns exec namespace1 ip a s 


创建虚拟网卡和虚拟网桥端口:ip link add veth2 type veth peer name br-port2


将创建好的虚拟网卡加入隔离空间:ip link set veth1 netns namespace1


查看隔离空间中的网卡设备:ip netns exec namespace2 ip a s


给隔离空间中的网卡设备设IP:








centos6.5安装docker需要升级内核


更新下载EPELyum源




wget http://www.hop5.in/yum/el6/hop5.repo


yum install kernel-ml-aufs kernel-ml-aufs-devel


/etc/grub.conf,设置default=0


docker依赖包
yum upgrade device-mapper-libs


修改网卡配置
vim /etc/sysctl.conf 
net.ipv4.ip_forward=1

































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值