【docker】linux系统docker的安装及使用
创始人
2025-01-08 14:33:13
0

一、docker应用的安装

1.1 安装方式

  • Docker的自动化安装,即使用提供的一键安装的脚本,进行安装。

官方的一键安装方式:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
国内 daocloud一键安装命令:curl -sSL https://get.daocloud.io/docker | sh
执行上述任一条命令,耐心等待即可完成Docker的安装。

  • Docker手动安装(博主用的手动安装)

1.2 安装环境条件

Docker从17.03版本之后分为CE(Community Edition: 社区版)和EE(Enterprise Edition: 企业版)。Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux内核版本不低于3.10。

lsb_release  -a   #查看系统版本 uname -r          #查看内核版本


#其它查看系统版本命令   cat /etc/os-version   、cat /etc/os-release、cat /etc/redhat-release
#其它查看内核版本方式   cat /proc/version、uname -a

本机linux系统和内核版本:

1.3 手动安装方式

1.3.1 卸载旧版本

如果安装过旧版本,可执行该步骤

yum remove docker \                   docker-client \                   docker-client-latest \                   docker-common \                   docker-latest \                   docker-latest-logrotate \                   docker-logrotate \                   docker-selinux \                   docker-engine-selinux \                   docker-engine \                   docker-ce

1.3.2 安装依赖

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

1.3.3 设置Docker源仓库

yum-config-manager  --add-repo  https://download.docker.com/linux/centos/docker-ce.repo

官方的源地址比较慢,可使用国内比较快的地址:  
阿里云:http:**//mirrors.aliyun.com/docker-ce/linux/centos/**docker-ce.repo 清华大学源:https:**//mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/**docker-ce.repo

设置之后的结果:

docker-ce.repo内容:

1.3.4 安装

安装版本:docker-ce为社区免费版本。

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

如果不需要docker-ce-cli或containerd.io可直接执行如下命令

yum install -y docker-ce

1.3.5 检测Docker安装情况

docker version   #查看docker版本

1.3.6 卸载docker

yum remove docker-ce     #删除安装包 rm -rf /var/lib/docker   #删除镜像、容器、配置文件等内容

二、docker服务启停命令

systemctl start  docker   #启动 systemctl stop   docker   #停止 systemctl status docker   #状态 systemctl restart docker  #重启  systemctl enable docker     #开机自启 systemctl disable docker  #关闭开机自启  systemctl daemon-reload  #守护进程重启

查看本机docker服务状态:

三、docker的使用

3.1 镜像-常用操作命令

docker search 镜像名        #搜索仓库镜像 如:docker search nginx docker pull 镜像名:版本号    #拉取镜像   如:docker pull mongo:4.44 docker images               #查看已拉取的所有镜像 docker rmi image_id         #删除镜像

3.2 容器--常用操作命令

3.2.1 docker run 命令(重要)

docker run :创建一个新的容器并运行一个命令

命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

docker run -it ubuntu /bin/bash   #启动(新)容器  docker run --name mynginx -d -p 80:80  nginx  #启动一个新的nginx容器  docker run -d -p 3310:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7  #启动一个新的mysql容器  docker run -d -p 1521:1521 --name oracle11g \ registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g  #启动一个新的oracle数据库容器  docker run --name nginx01 -d -p 80:80 \ -v $PWD/nginx.conf:/etc/nginx/nginx.conf \ -v $PWD/html:/etc/nginx/html \ -v $PWD/log/nginx:/var/log/nginx  nginx     #启动一个新的nginx容器   加了数据卷 -V

3.2.2 docker 其它命令

docker start 容器ID或名字   #启动容器 docker stop  容器ID或名字   #停止容器 docker restart 容器ID或名字 #重启容器 docker ps                  #查看正在运行的容器 docker ps -a               #查看所有容器  docker rm container_id     #删除容器
docker exec -it 容器ID|容器name /bin/bash  #进入容器 exit  #退出容器  docker inspect  容器ID|容器name            #获取容器/镜像的元数据 #使用方法 docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $CONTAINER_ID         #获取容器 IP docker inspect tomcat7 | grep IPAddress           #获取IP地址

3.2.3 容器数据卷

(1)挂载数据卷

-v  本地目录:容器内目录:权限 如ro        #指定路径挂载 -v  卷名:容器内目录:权限 如rw             #具名挂载 -v  容器内目录:权限 如rw                 #匿名挂载

(2)查看数据卷

docker volume  ls     docker volume  inspect  卷名

(3)查看容器挂载情况

docker inspect nginx01

 docker inspect oracle11g 

(4)数据卷默认位置

注:所有docker容器的卷,没有指定目录情况下(具名挂载和匿名挂载),都在 /var/lib/docker/volumes/ 下。

四、docker深度学习(拓展)

以上三部分,日常使用足矣。下面是更深的学习内容了。防止遗忘,还是记录在这里。

4.1 run 的参数是重点

重点的几个参数,不止以下这些,太多、记不住就不罗列了,有兴趣可以度娘。

-u root  #如果执行docker run 是root用户执行的,生成的container不是root的话,在docker run时加参数

--net="bridge" #容器网络设置:

-e, --env=[]  #指定环境变量,容器中可以使用该环境变量

4.2 Dockerfile文件和docker build

Dockerfile文件和docker build 创建镜像

Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义的镜像.

Dockerfile分为四部分:

  • 基础镜像信息
  • 维护者信息
  • 镜像操作指令
  • 容器启动时执行指令

4.3 docker save 和docker load

上传本地镜像到docker服务器, 和 保存docker服务器里的镜像到本地。

# docker save -o [定义一个tar文件的文件名] [要保存的镜像的id] docker save -o imagesname.tar dd886f784c2c # 生成的tar文件存储路径为当前路径下  docker load -i imagesname.tar 然后可以再次通过docker images命令查看加载的镜像  docker commit [要保存的容器id] [起一个镜像名]   #保存对一个docker容器的改动

4.4 Docker-Compose

  • Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。
  • Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。
  • Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service)以及容器(container)。

多个应用镜像组合在一起, 写在一个配置文件中, 一次写好,处处使用,超方便、超速度。直接就按文件内容部署、编排容器了。自动部署相关应用、创建容器、运行容器。

看图理解比较直观一点

相关内容

热门资讯

微乐小程序真的有挂!微乐自建房... 微乐小程序真的有挂!微乐自建房提升运势(开挂)挂-确实解密真的是有挂1、玩家可以在线上大神俱乐部对游...
透视曝光!微乐小程序免费黑科技... 透视曝光!微乐小程序免费黑科技(外挂),微信小程序怎么开挂,教程机巧(有挂功能)-哔哩哔哩1、超多福...
据了解!微乐小程序免费黑科技,... 据了解!微乐小程序免费黑科技,下载微乐小程序自建房透视(作弊器)教材教程(切实真的是有挂)1、下载好...
微乐小程序真的有挂!微乐山西小... 微乐小程序真的有挂!微乐山西小程序破解器(开挂)攻略-原来科普是真的挂该软件可以轻松地帮助玩家将外卦...
透视教你!微乐小程序黑科技(外... 透视教你!微乐小程序黑科技(外挂),微乐南昌辅助神器,教程总结(真实有挂)-哔哩哔哩1、超多福利:超...
事发当天!微乐小程序黑科技,微... 事发当天!微乐小程序黑科技,微乐自建房脚本免费入口(作弊器)积累教程(总是真的是有挂)一、游戏安装教...
微信小程序黑科技免费!微信小程... 微信小程序黑科技免费!微信小程序游戏破解器(开挂)教程-切实科普真的有挂微信小程序黑科技免费!微信小...
值得注意的是!微乐小程序免费黑... 值得注意的是!微乐小程序免费黑科技,微乐家乡app下载(作弊器)操作教程(真是有挂)1)有没有挂:进...
透视辅助!微乐小程序黑科技(外... 透视辅助!微乐小程序黑科技(外挂),微乐云南小程序辅助器,教程方针(有挂透明挂)-哔哩哔哩1、不需要...
微乐小程序透视挂!微信小程序游... 微乐小程序透视挂!微信小程序游戏辅助器(开挂)挂-一直揭露真的是有挂1)免费钻石:进一步探索免费脚本...