云计算实训34——docker环境配置、镜像基本操作、容器基本操作、设置远程连接管理

一、配置docker环境

写入模块

复制代码
[root@docker ~]# cat << EOF | tee /etc/modules-load.d/k8s.conf
> overlay
> br_netfilter
> EOF

加载模块

复制代码
#内核模块
[root@docker ~]# modprobe overlay
#桥接模块
[root@docker ~]# modprobe br_netfilter

#查看所添加的模块

复制代码
[root@docker ~]# cat /etc/modules-load.d/k8s.conf 
overlay
br_netfilter

写入模块

复制代码
#cat命令用于输出重定向,tee命令用于同时在屏幕上显示输出内容和写入文件。 

[root@docker ~]# cat << EOF | tee /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF

重新加载

复制代码
[root@docker ~]# sysctl --system

安装软件包

复制代码
#安装yum-utils、device-mapper-persistent-data、lvm2(逻辑管理工具)

[root@docker ~]# yum  -y install yum-utils device-mapper-persistent-data lvm2

#重置配置,添加新仓库------阿里云
[root@docker ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


#安装docker

[root@docker ~]# yum  -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 

#启动docker
[root@docker ~]# systemctl start docker.service

二、镜像基本操作

查看镜像

复制代码
[root@docker ~]# docker images 

搜索镜像

复制代码
#查找tomcat镜像

[root@docker ~]# docker search tomcat

#查找nginx镜像

[root@docker ~]# docker search nginx

#查找官方镜像

[root@docker ~]# docker search centos

设置阿里云镜像加速器

复制代码
#配置docker镜像站

[root@docker ~]# vim /etc/docker/daemon.json

{
    "registry-mirrors": [
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}

#重启docker

[root@docker ~]# systemctl restart docker.service

下载镜像

复制代码
#下载官方镜像

[root@docker ~]# docker pull centos

#查看镜像
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
centos       latest    5d0da3dc9764   2 years ago   231MB

三、容器基本操作

启动容器

复制代码
[root@docker ~]# docker run -i -t --name=c0 centos:latest /bin/bash

删除原有yum源

复制代码
[root@5fa71e17b009 ~]# rm -rf /etc/yum.repos.d/*

下载阿里云镜像

复制代码
[root@5fa71e17b009 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2495  100  2495    0     0  26827      0 --:--:-- --:--:-- --:--:-- 26827

清理缓存

复制代码
[root@5fa71e17b009 ~]# yum clean all

创建缓存

复制代码
[root@5fa71e17b009 ~]# yum makecache

安装软件包

复制代码
#安装httpd包
[root@5fa71e17b009 ~]# yum -y install httpd
#安装iproute包
[root@5fa71e17b009 ~]# yum -y install iproute
#安装net-tools包
[root@5fa71e17b009 ~]# yum -y install net-tools

查看系统运行时间

复制代码
[root@5fa71e17b009 ~]# uptime
 06:35:26 up  3:56,  0 users,  load average: 0.14, 0.05, 0.06

查看当前所在目录

复制代码
[root@5fa71e17b009 ~]# pwd
/root

查看red-hat的版本信息

复制代码
[root@5fa71e17b009 ~]# cat /etc/redhat-release 
CentOS Linux release 8.4.2105

写入内容

复制代码
[root@5fa71e17b009 ~]# echo "docker_httpd_server" > /var/www/html/index.html

#启动httpd
[root@5fa71e17b009 ~]# httpd -k start

访问测试

复制代码
#自身访问
[root@5fa71e17b009 ~]# curl http://localhost:80
docker_httpd_server
#查看ip
[root@5fa71e17b009 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
#在宿主机上访问   
[root@docker ~]# curl http://172.17.0.2:80
docker_httpd_server

查看进程

复制代码
[root@docker ~]# ps -aux | grep docker
root       4733  0.0  5.9 1636248 58996 ?       Ssl  14:16   0:01 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root       4937  0.0  1.9 1518968 19716 pts/1   Sl+  14:19   0:00 docker run -i -t --name=c0 centos:latest /bin/bash
root       5432  0.0  0.0 112720   984 pts/2    S+   15:03   0:00 grep --color=auto docker

退出容器

复制代码
[root@5fa71e17b009 ~]# exit

退出后进程已不存在,需要再次启动

复制代码
#启动名为C0的容器
[root@docker ~]# docker start c0

#将c0的终端附加到当前终端
[root@docker ~]# docker attach c0

#启动httpd
[root@5fa71e17b009 /]# httpd -k start

#再次测试
#自身访问正常
[root@5fa71e17b009 /]# curl localhost
docker_httpd_server

#宿主机上访问正常
[root@docker ~]# curl http://172.17.0.2:80
docker_httpd_server

#按ctrl+先p后q,也可以退出回到宿主机

[root@5fa71e17b009 /]# read escape sequence

四、设置远程连接管理

查看状态

复制代码
#查看sock套接字文件

[root@docker ~]# ls -lh /var/run/

srw-rw----  1 root   docker    0 8月  22 11:22 docker.sock

#查看端口是否开启

[root@docker ~]# netstat -lnput | grep 2375

注:要实现远程连接,必须有sock套接字文件、端口必须开启

停用docker

复制代码
[root@docker ~]# systemctl stop docker

修改配置文件

#进入配置文件

root@docker \~\]# vim /usr/lib/systemd/system/docker.service ![](https://i-blog.csdnimg.cn/direct/c675d47f8fbd404dae2d77794335aaac.png)

#修改json文件

root@docker \~\]# vim /etc/docker/daemon.json ![](https://i-blog.csdnimg.cn/direct/00a572ff8bc342d9bbe06c6d4b372518.png)

加载文件

root@docker \~\]# systemctl daemon-reload

启动docker

root@docker \~\]# systemctl start docker

再次查看状态

#查看端口状态

root@docker \~\]# netstat -lnput \| grep 2375 tcp6 0 0 :::2375 :::\* LISTEN 6394/dockerd #查看sock套接字文件 \[root@docker \~\]# ls -lh /var/run/ srw-rw---- 1 root docker 0 8月 22 16:10 docker.sock

相关推荐
电鱼智能的电小鱼14 分钟前
EFISH-SBC-RK3588无人机地面基准站项目
linux·网络·嵌入式硬件·机器人·无人机·边缘计算
电鱼智能的电小鱼19 分钟前
基于 EFISH-SBC-RK3588 的无人机环境感知与数据采集方案
linux·网络·嵌入式硬件·数码相机·无人机·边缘计算
生信碱移33 分钟前
大语言模型时代,单细胞注释也需要集思广益(mLLMCelltype)
人工智能·经验分享·深度学习·语言模型·自然语言处理·数据挖掘·数据可视化
小诸葛的博客1 小时前
详解Linux中的定时任务管理工具crond
linux·运维·chrome
一默19911 小时前
CentOS 7.9升级OpenSSH到9.9p2
linux·运维·centos
硅谷秋水1 小时前
通过模仿学习实现机器人灵巧操作:综述(上)
人工智能·深度学习·机器学习·计算机视觉·语言模型·机器人
开心快乐幸福一家人1 小时前
Spark-SQL与Hive集成及数据分析实践
人工智能·pytorch·深度学习
keep intensify1 小时前
Linux常用指令
linux·服务器·php
带电的小王2 小时前
sherpa-ncnn:Linux(x86/ARM32/ARM64)构建sherpa-ncnn --语音转文本大模型
linux·语音识别·实时音视频·sherpa-ncnn
沧浪之水!2 小时前
【Linux网络】:套接字之UDP
linux·网络·udp