Centos系列:Centos的docker部署安装超详细教程(零基础可用)以及docker常用命令详解(图文结合纯干货,适用于初学者)

坦笑&&life 2024-06-21 16:07:33 阅读 62

Centos的docker部署安装超详细教程(零基础可用)以及docker常用命令详解(图文结合纯干货,适用于初学者)

一. Centos7安装部署docker安装环境基础环境配置禁用防火墙和关闭selinux永久关闭开始安装此时,就已经完成了docker安装,下面需要做一些简单的配置 二. docker常用命令大全(纯干货)docker最常用命令常用命令下载镜像(拉取镜像)搜索镜像启动容器查看docker进程删除容器导入和导出容器导出容器导入容器 删除镜像利用docker运行一个简单的web应用


一. Centos7安装部署docker

安装环境

系统:centos7 内存:4G

网络类型:NAT模式 硬盘大小:80G

最小化安装 语言:英语

IP:192.168.180.134

基础环境配置

将IP设置为动态获取

vi /etc/sysconfig/network-scripts/ifcfg-ens33

将 BOOTPROTO="dhcp"改为 “static”,并添加IP、网关、子网掩码、DNS的信息

在这里插入图片描述

重启网络,并查看网络信息,若没报错,则文件配置成功

在这里插入图片描述

此时网络也能正常ping通

在这里插入图片描述

禁用防火墙和关闭selinux

systemctl disable firewalld

systemctl stop firewalld

setenforce 0 (临时关闭,系统重启后还是会自动开启)

永久关闭

vi /etc/selinux/config

将 SELINUX=enforcing 改为 SELINUX=disabled 然后保存并退出

此时安装docker的基础环境已全部配置完毕,如果不熟练怕后续步骤出错的同学,可以在此拍摄快照,如果后续步骤出错直接恢复快照即可

开始安装

1.卸载系统自带的docker版本

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

更新yum包 (此过程需要等待一小会儿)

yum update

安装docker所需要的依赖包

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

配置yum源

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

查看仓库中所有的docker版本

yum list docker-ce --showduplicates | sort -r

在这里插入图片描述

安装docker的最新版本,不指定版本号即默认安装

yum install -y docker-ce

(如果要指定版本号安装可以输入命令:yum install docker-ce-18.09* -y ,此时指定的就是docker-ce-18.09的版本)

在这里插入图片描述

设置docker为开机自启

systemctl restart docker

systemctl enable docker

在这里插入图片描述

验证docker是否安装成功

docker version

docker --version

在这里插入图片描述

此时,就已经完成了docker安装,下面需要做一些简单的配置

配置docker daemon的守护进程

cd /etc/docker/vim /etc/docker/daemon.json

添加如下配置信息:

{ “exec-opts”:[“native.cgroupdriver=systemd”]}

在这里插入图片描述

然后保存并退出

配置docker服务端

vi /usr/lib/systemd/system/docker.service

添加如下信息:

ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT

在这里插入图片描述

然后保存并退出

重新加载daemon守护程序

systemctl daemon-reload

查看docker运行状态

systemctl status docker

在这里插入图片描述

此时,显示正在运行中


二. docker常用命令大全(纯干货)

docker最常用命令

1.docker 或 docker --help #查看docker自带的帮助信息(里面内容对初学者十分不友好)

2.启动类命令

systemctl start docker #启动docker

systemctl stop docker #停止docker

systemctl restart docker #重启docker

systemctl status docker #查看docker状态

systemctl enable docker #将docker设为开机自启动

3.docker info #查看docker的各种信息,包括版本信息、镜像和容器数量等

4.docker version #查看docker版本信息

5.docker images #查看本地主机上已有的镜像

常用命令

下载镜像(拉取镜像)

docker pull 想要下载的镜像名 #如果本地没有该镜像,则可以通过docker pull 命令去docker仓库下载该镜像

如我想获取一个本地没有的ubutu的镜像

docker pull ubuntu

在这里插入图片描述

此时可通过 docker images 查看刚刚下载完的镜像信息

在这里插入图片描述

REPOSITORY:表示镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像ID

CREATED:镜像创建时间

SIZE:镜像大小

注意:如果镜像后面不加TAG,默认使用latest的镜像

搜索镜像

docker serach 镜像名称

如我想搜索Hadoop的镜像信息 docker search hadoop

在这里插入图片描述

参数说明:

NAME:镜像名称

DESCRIPTION:镜像说明

STARS:点赞数量

OFFICIAL:是否是官方的

AUTOMATED:是否自动构建的

启动容器

docker run [命令选项(有的是一个减号,有的是两个减号)] 镜像名 执行命令

如: docker run -it ubuntu /bin/bash

使用Ubuntu的镜像来启动一个容器,并有交互式 Shell,因此用的是 /bin/bash,如果要退出控制台,输入 exit即可退出

在这里插入图片描述

[OPTIONS]命令选项说明

–name=“容器新名字” 为容器指定一个名称;

-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);

-i:以交互模式运行容器,通常与 -t 同时使用;

-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;

也即启动交互式容器(前台有伪终端,等待交互);

-P: 随主机端口映射,大写P

-p: 指定端口映射,小写p

查看docker进程

docker ps [OPTION]

参数说明:

-a :列出当前所有正在运行的容器+历史上运行过的

-l :显示最近创建的容器

-n:显示最近n个创建的容器

-q :静默模式,只显示容器编号

启动一个已经停止了的容器

docker ps -a #查看之前启动过的容器名称

docker restart 容器名称或容器ID(如果容器较少,id不用全部写完)

docker start 容器名称或容器ID #启动已经停止了的容器

docker start objective_wing #启动名称为objective_wing的容器

在这里插入图片描述

停止一个正在运行的容器

docker stop 容器名称或容器ID

docker ps -a

docker stop 容器名称或ID(如果容器较少,id不用全部写完)

在这里插入图片描述

重新进入一个正在运行的容器

docker attach 容器名称或容器ID

在这里插入图片描述

attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。

exec 是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。

docker exec [OPTIONS] 执行命令

在这里插入图片描述

注意:进入某一个容器,这个容器必须是存活状态的容器,不能进入一个停止的容器。

删除容器

docker rm 容器ID

在这里插入图片描述

docker logs 容器ID #查看容器日志

docker top 容器ID #查看容器内部进程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BVQSzf9S-1678270932595)(C:\Users\79924\AppData\Roaming\Typora\typora-user-images\image-20230308164643486.png)]

导入和导出容器

导出容器

docker export 容器ID > 文件名

如:docker export 97 > ubuntu.tar.gz

在这里插入图片描述

导入容器

cat 文件名 | docker import - 镜像用户/镜像名:镜像版本号(镜像用户和版本号可以不写)

cat test.tar.gz | docker import - ubuntu2

在这里插入图片描述

删除镜像

docker image rm 镜像名 # 删除1个镜像

docker image rm 镜像名 镜像名 #删除多个镜像

在这里插入图片描述

利用docker运行一个简单的web应用

之前都是一些对docker容器的基本操作,现在可以通过上述命令在docker容器中运行一个Python Flask应用来运行一个web应用

1.从docker仓库中拉取镜像

docker pull training/webapp

在这里插入图片描述

2.启动镜像

docker run -d -P training/webapp python app.py

参数说明:

-d:让容器在后台运行

-P:将容器内部使用的网络端口随机映射到我们使用的主机上

(如果不想通过主机端口可以使用小写p指定端口,如想指定主机端口号为5001则输入以下命令:docker run -dp 5001:5000 training/webapp python app.py)

在这里插入图片描述

3.查看容器信息

docker ps

在这里插入图片描述

可以发现此时查看的信息比之前多了一个PORTS的端口信息项,此时docker开放了5000 端口(默认 Python Flask 端口)映射到主机端口 32768 上

4.通过浏览器访问web应用

在浏览器中输入虚拟机的IP地址:32768 访问

在这里插入图片描述

还可以通过 docker port 容器ID 来查看端口的映射情况

docker port e4b

在这里插入图片描述

此时,便通过docker完成了一个简单的web部署!



喜欢水星记

Centos的docker部署安装超详细教程(零基础可用)

docker常用命令详解(图文结合纯干货,适用于初学者)



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。