开端
我这里使用的是基于centos的国产某系统,从事过的同行应该知道是什么,它的大部分与centos相同,我测试过,所以如果你是新手,放心使用。
首先我知道你想安装,但是先别安装
在CentOS 8.2版本开始,出于架构更安全以及其与Kubernetes 原生的等原因,CentOS默认安装podman,这是一款与docker类似的容器引擎。
所以如果你是8.2及以后的版本安装docker后启动任务会出现:
“Failed to start docker.service: Unit docker.service not found。”
原因是CentOS默认使用podman代替docker,所以我们需要卸载它
1 2 3
| yum erase -y podman buildah
|
接下来让我们继续:
1.安装docker依赖环境
1
| yum install -y yum-utils device-mapper-persistent-data lvm2
|
2.配置国内docker-ce(社区版)的yum源(采用阿里云)
1
| yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
|
查看该目录下是否存在docker-ce.repo这个文件
3.安装docker CE
1
| yum -y install docker-ce docker-ce-cli containerd.io
|
如果显示哪个包no match
先查看一下可安装的包版本(如果显示有,那可能是拼写错误)
1
| yum list 包名 --showduplicates | sort -r
|
如果有就单独运行一次
想知道包名的作用,就使用 yum info 程序名
使用systemctl 这个命令启动查看一下docker能否正常运行,状态为active
4.开启网络转发功能
默认自动开启
1
| 路径: /proc/sys/net/ipv4/ip_forward
|
手动开启:
插入以下内容
然后执行
此处如果报错sysctl: cannot stat /proc/sys/net/ipv4/ipv4_forward: No such file or directory
执行
1
| cat /proc/sys/net/ipv4/ip_forward
|
5.关闭防火墙
1 2 3 4 5
| iptables -nL
systemctl stop firewalld && systemctl disable firewalld
systemctl restart docker
|
关闭防火墙要把docker重启一下,不然docker的ip包转发功能无法使用。即便防火墙关闭了,docker依旧会调用内核模块netfilter增加规则,所以会新增iptables规则。
6.启动服务 并 设置开机自启
1
| systemctl start docker && systemctl enable docker
|
启动完成后再查看一下网络参数,这个是ip转发会改成1,默认0
7.基础命令
哎!这个时候我们就需要搜索和拉取镜像了,我们第一期创建的自己的docker库就有用场了,但是我们下一期说,bote现在要睡了,嘿嘿。
(1)帮助命令
1 2 3
| docker version docker info docker --help
|
(2)镜像命令
1 2 3 4 5 6 7 8 9 10 11 12
| docker images docker search 镜像名 docker pull 镜像名 [标签] docker rmi 镜像名 [标签] docker tag 镜像名:版本 新镜像名:版本 docker commit -a "xxx" -c "xxx" 镜像ID 名字:版本 -a :提交的镜像作者; -c :使用Dockerfile指令来创建镜像; -m :提交时的说明文字;
docker load -i /xxx/xxx.tar docker save -o /xxx/xxx.tar
|
(3)容器命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| docker run [可选参数] image 命令
--name = "Name" 容器名字 -c 后面跟待完成的命令 -d 以后台方式运行并且返回ID,启动守护进程式容器 -i 使用交互方式运行容器,通常与t同时使用 -t 为容器重新分配一个伪输入终端。也即启动交互式容器 -p 指定容器端口 -p 容器端口:物理机端口 映射端口 -P 随机指定端口 -v 给容器挂载存储卷
docker build docker logs 容器实例的ID docker rename 旧名字 新名字 docker top 容器实例的ID docker ps -a docker rm 容器实例的ID docker kill 容器实例的ID docker history 容器实例的ID docker start 容器实例的ID docker restart 容器实例的ID docker stop 容器实例的ID docker attach /docker exec 容器实例的ID docker image inspect 容器名称:容器标签 docker cp 容器id:容器内路径 目的主机路径 exit crlt + P + Q
|
8.最后
如果有朋友发现有字误或其他错误,欢迎评论指出