Linux[Centos7]安装Docker

1.在线安装

1.1安装docker-ce 社区版

uname -r

1698027397194.png

yum ‐y update

1698027410859.png

sudo yum remove ‐y docker*

1698027427438.png

yum install ‐y yum‐utils

#想安装Docker,需要先将依赖的环境全部下载下来,就像Maven依赖JDK一样
yum -y install yum-utils device-mapper-persistent-data lvm2

1698027446892.png

yum repolist all # 显示所有资源库
yum repolist enabled # 显示所有已启动的资源库
yum repolist disabled # 显示所有被禁用的资源库
#可以搭配grep使用,例如
yum repolist all | grep updates
yum repolist all | grep mysql
yum repolist all | grep nginx

1698027684739.png
yum-config-manager命令的本质是对/etc/yum.repos.d/(库数据的储存位置)文件夹下文件的增删查改,推荐使用yum-config-manager命令进行改动

#默认下载Docker会去国外服务器下载,速度较慢,可以设置为阿里云镜像源,速度更快
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast

1698027786143.png
因为系统默认没有安装这个命令,这个命令在 yum-utils 包里,安装该包即可

# 执行此命令即可
yum -y install yum-utils

1698027899531.png
成功:
1698027962829.png
1698028004451.png

#这块不使用可以不运行
sudo yum-config-manager --enable docker-ce-nightly

sudo yum list docker-ce.x86_64 --showduplicates | sort -r

1698028141182.png

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
# 这是指定版本安装
sudo yum install  ‐y docker-ce-19.03.9 docker-ce-cli-19.03.9 containerd.io
systemctl start docker && systemctl enable docker

安装成功后,需要手动启动,设置为开机启动,并测试一下 Docker
#启动docker服务
systemctl start docker
#设置开机自动启动
systemctl enable docker
#测试
docker run hello-world
docker version

1.2配置阿里的数据源

阿里云的镜像加速器,阿里云docker镜像加速器
https://cr.console.aliyun.com/cn-shanghai/instances/mirrors
1698029179466.png

cd /etc/docker

daemon.json
1698029108042.png
无 daemon.json 文件

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://w2ng0i4d.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

有 daemon.json 文件

vim daemon.json
{
  "registry-mirrors": ["https://w2ng0i4d.mirror.aliyuncs.com"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
1.Docker官方的中央仓库:这个仓库是镜像最全的,但是下载速度较慢。
https://hub.docker.com/
2.国内的镜像网站:网易蜂巢,daoCloud等,下载速度快,但是镜像相对不全。
https://c.163yun.com/hub#/home 
http://hub.daocloud.io/ (推荐使用)

3.在公司内部会采用私服的方式拉取镜像(添加配置)
#需要创建 /etc/docker/daemon.json,并添加如下内容
{
	"registry-mirrors":["https://w2ng0i4d.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com","http://hub-mirror.c.163.com"],
	"insecure-registries":["ip:port"] #docker私服地址
}
#重启两个服务
systemctl daemon-reload
systemctl restart docker

1.3 验证安装

1.3.1常用命令

镜像操作
docker search nginx

1698029608251.png
以上列表包含五列,含义如下:

  • NAME:镜像仓库名称。
  • DESCRIPTION:镜像仓库描述。
  • STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars0
  • OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维护。
  • AUTOMATED:表示是否是自动构建的镜像仓库

#从中央仓库拉取镜像到本地
#docker pull 镜像名称[:tag]
docker pull nginx
#举个栗子:docker pull daocloud.io/library/tomcat:8.5.15-jre8

1698029736376.png
1698031313687.png


docker images

1698029797910.png
以上列表含义如下

  • REPOSITORY:镜像所属仓库名称。
  • TAG:镜像标签。默认是 latest,表示最新。
  • IMAGE ID:镜像 ID,表示镜像唯一标识。
  • CREATED:镜像创建时间。
  • SIZE: 镜像大小。

#使用 docker rmi命令即可删除指定镜像,强制删除加 -f
docker rmi nginx
#或者  根据 IMAGE ID 进行删除
docker rmi 605c77e624dd
#删除所有镜像
docker rmi $(docker images -q)

1698029892194.png
1698030013274.png


如果因为网络原因可以通过硬盘的方式传输镜像,虽然不规范,但是有效,但是这种方式导出的镜像名称和版本都是nul
#将本地的镜像导出
docker save -o 导出的路径 镜像id
docker save -o /usr/local/docker/images/nginx.tar 605c77e624dd #绝对路径
docker save -o nginx.tar 605c77e624dd  #相对路径 
#加载本地的镜像文件
docker load -i 镜像文件
docker load -i /usr/local/docker/images/nginx.tar #绝对路径
docker load -i nginx.tar #相对路径 

#修改镜像文件
docker tag 镜像id 新镜像名称:版本
docker tag 605c77e624dd nginx:latest

1698031711501.png
1698031790815.png
1698031867275.png
1698031953695.png

容器操作
运行容器需要定制具体镜像,如果镜像不存在,会直接下载
#简单操作
docker run 镜像的标识|镜像的名称[:tag]

docker run nginx:latest #镜像的名称[:tag]
docker run 605c77e624dd #镜像的标识

#常用的参数
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag]
#-d:代表后台运行容器
#-p 宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口
#--name 容器名称:指定容器的名称

docker run -d -p 80:80 --name nginx  nginx:latest #镜像的名称[:tag]
docker run -d -p 80:80 --name nginx1  605c77e624dd #镜像的标识





1698032367317.png
1698032527039.png

1698032657478.png
1698032745812.png


查看全部正在运行的容器信息
docker ps [-qa]
#-a 查看全部的容器,包括没有运行
#-q 只查看容器的标识
docker ps -a   #查看全部的容器,包括没有运行
docker ps      #查看全部运行的容器

1698032904223.png
1698033001597.png


#查看容器日志,以查看容器运行的信息
docker logs -f 容器id
#-f:可以滚动查看日志的最后几行
docker logs -f 7f622ffcf2ee

docker container logs f0b1c8ab3633

1698033102276.png
1698112797134.png


#可以进入容器的内部进行操作
docker exec -it 容器id bash
docker exec -it 7f622ffcf2ee  bash

#退出容器内部
exit

1698033274728.png


#将宿主机的文件复制到容器内部的指定目录
docker cp 文件名称 容器id:容器内部路径
docker cp nginx.tar 7f622ffcf2ee:/

1698036465591.png


容器的启动,停止,删除等操作,后续会经常使用到

#启动停止运行的容器   docker start NAMES
docker start 容器id
docker start 7f622ffcf2ee
docker start nginx

#重新启动容器
docker restart 容器id
docker restart 7f622ffcf2ee

#停止指定的容器(删除容器前,需要先停止容器)
docker stop 容器id
docker stop 7f622ffcf2ee

#停止全部容器
docker stop $(docker ps -qa)

1698036773442.png


#删除指定容器
docker rm 容器id
docker rm 7f622ffcf2ee
#删除全部容器
docker rm $(docker ps -qa)

1698036824882.png


docker inspect aed4f80f4734

1698112728952.png


docker top aed4f80f4734

1698112866070.png

1.3.2 DockerFile文件

1.3.3 常用软件部署

1.4 卸载docker

yum remove ‐y docker*
rm ‐rf /etc/systemd/system/docker.service.d
rm ‐rf /var/lib/docker
rm ‐rf /var/run/docker

1.5 安装 Docker-Compose

1.5.1 docker-compose安装

19.03.X - 1.27.X
版本对应关系
1698116152173.png

#进入linux输入命令
curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

sudo curl ‐L "https://github.com/docker/compose/releases/download/1.28.6/docker‐compose‐$(uname ‐s)$(uname ‐m)" ‐o
/usr/local/bin/docker‐compose

#添加权限命令
chmod +x /usr/local/bin/docker-compose

 docker -v
 docker-compose -v

1698116306655.png

1.5.2 docker-compose.yml 文件详解

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值