1、安装所需要的软件包
先查看自己的linux版本,好像有版本要求,似乎是高于与3.0才支持docker
①安装所需要的3个软件包
yum -y install yum-utils device-mapper-persistent-data lvm2
②设置yum源(windows也支持docker)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
③安装docker
yum install docker-ce docker-ce-cli containerd.io
④更换docker镜像源地址加快image拉取速度
curl -ssl https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
⑤安装docker命令补全功能
yum -y install bash-completion
source /usr/share/bash-completion/bash_completion
⑥启动docker
systemctl statr docker
设置开机自启docker
systemctl enable docker
⑦查看docker版本以及docker信息
docker info or docker version
2、使用docker创建并启动容器
①创建容器:docker create --name 容器名 镜像名
②查看docker中的所有容器:docker ps -a
查看docker里面的容器有哪些:docker container ls(刚创建的容器还不是一个容器,只是从云端下载下来的镜像可以通过: docker images查看,也可以通过docker pull 镜像名称去拉镜像)
③启动容器
④删除容器
如果是正在运行的参数要加上-s参数,或者先stop容器在docker rm 容器名,容器删除了,但是镜像不会删除
先创建一个容器create在启动start这个容器,docker run这个命令两件事都干了,docker run [option] <image> [command]
- - name :指定容器名字
-d:指定容器运行于前台还是后台,默认为false,是后台
-e:指定环境变量,容器中可以使用该环境变量
-p:指定容器暴露的端口
-it:在容器中启动时,进入容器执行命令操作
- -rm:当容器停止时自动删除
示例
docker run - -name <container> -d -p 8080:80 httpd:外部8080端口访问的就是内部的80端口
docker run -d centos/bin/bash -c “while true; do sleep 1;echo demo1;done”
3、进入容器操作
两种方法
docker exec 命令:在容器中打开新的终端
docker exec -it 容器名 bash
docker attach 命令:一般不用这个命令exit推出的时候,不用正确的退出方式可能会造成容器的停止,直接进入已启动容器的命令终端,不会启动新的进程
usage:docker attach [option] container
3、镜像的操作
查看镜像:docker images
拉取镜像:docker pull <image>
删除镜像:docker rmi <image>
3.1容器镜像
①容器镜像是容器的模板,容器是镜像运行的实例,runtime根据容器镜像创建容器
②容器镜像挂载在容器根目录下,是为容器中的应用提供隔离后执行环境的文件系统:容器镜像打包了整个操作系统的文件和目录(rootfs),当然也包括应用本身,应用及其运行所需的所有依赖,都被封装在容器镜像中,保证了本地环境和云端镜像的高度一致
③容器镜像采用分层结构
所有容器共享宿主机kernel,并且不能修改宿主机kernel,容器运行过程中使用容器镜像里的文件使用宿主机os的kernel
4、linux操作系统结构
linux操作系统由内核空间和用户空间构成
kernel:linux内核
rootfs:linux系统中的用户空间文件系统,rootfs是一个操作系统所包含的文件、配置和目录,但不包括操作系统kernel
bootfs用来加载rootfs的,加载完成就会卸载bootfs