docker笔记(一):安装docker及常用操作

我以前的公司有八台专门跑数据的主机,因为项目刚开始只用了其中的4台,两年后领导说要把剩下四台利用起来,结果发现常用的那四台和不常用的那四台环境压根不一样(版本更新太多次,以前的人有时候只更新常用的四台),结果后面搞了足足两个月,查漏补缺,才把不常用的四台主机的环境配置、应用程序部署好。

后来,我开始学docker,才发现docker早已提供了最优的解决方案,通过一个自定义镜像,发布成多个容器,每次更新只需要在一个容器上修改,再打包成镜像,再重新发布,完美~

两个核心:镜像(系统镜像)、容器(虚拟机)

三个维度:环境(系统及你部署的应用)、资源(CPU等)、网络(容器的IP和端口等等)

优势:创建一个自定义镜像,可以根据实际需要部署多个容器,每个容器都是一个独立的系统,容器之间完全一模一样,每次更新只需要修改一一个镜像,再重新发布即可,相比传统的虚拟机维护成本更低,而且资源消耗也比传统的docker更少。

下面是docker一些入门操作:

#安装
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
#下载镜象
docker pull centos:8
#查看镜象
docker images
#运行容器
docker run -it centos:8 /bin/bash
#查看容器进程
docker ps -a
#停止容器
docker stop 50f8d9158c76
#重启容器
docker restart 50f8d9158c76
#删除容器
docker rm -f 50f8d9158c76
#删除镜象
docker rmi centos:8
#后台运行 + 使用别名
docker run -itd --name centos-test1 centos:8 /bin/bash
#进入后台运行的容器--退出时会关闭容器
docker attach 50f8d9158c76
#进入后台运行的容器--退出时不会关闭容器
docker exec -it 50f8d9158c76 /bin/bash
#导出容器
docker export 50f8d9158c76 > centos-test1.tar
#导入镜像
cat centos-test1.tar | docker import - test/centos-test1:v1
#导入容器--通过指定的URL
docker import http://example.com/exampleimage.tgz example/imagerepo
#导入docker官网成熟镜像
docker pull training/webapp
#启动容器--默认映射端口+执行指令(端口32768)
docker run -d -P training/webapp python app.py
#启动容器--指定映射端口+执行指令  (宿主机PORT:容器PORT)
docker run -d -p 5000:5000 training/webapp python app.py

 

你可能感兴趣的:(docker)