Docker源码安装附内网镜像安装演示

Docker源码安装附内网镜像安装演示

系统版本要求

当前系统版本:CentOS Linux release 7.9.2009 (Core)

内核版本:3.10.0-1160.el7.x86_64

注:系统内核版本要求3.10以上
uname -r   #查看当前系统内核版本
cat /etc/redhat-release  # 查看当前系统版本
yum update  (非正式环境下使用)
版本介绍docker-ce社区版 docker-ee企业版    docker-ce-cli客户端    containerd.io 容器

源码包下载

官网下载地址(https://download.docker.com/linux/static/stable/x86_64/docker-19.03.10.tgz)

我这里已docker-19.03.10.tgz该版本做演示

Docker源码安装附内网镜像安装演示

1.下载源码包文件到本地

2.通过远程连接工具(xShell、SecureCRT等将源码包文件上载到服务器自定义目录)

3.解压文件

pwd
/usr/loca/src/      ##自定义文件目录用来存放docker的源码包
tar -zxvf docker-19.03.10.tgz #解压文件
cp docker/* /usr/bin/         #复制解压后文件到/bin(必做)

Docker源码安装附内网镜像安装演示

4.配置docker 为service服务

 vi /etc/systemd/system/docker.service
 添加如下内容
 [Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewall.service

Wants=network-online.target

[Service]

Type=notify

#the default is not to use systemd for cgroups because the delegay issues still

#exists and systemd currently does not support the cgroup feature set required

#for containers run by docker

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

#Having non-zero Limit*s causes performance problems due to accounting overhead

#in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

#Uncomment TasksMax if your systemd version supports it.

#Only Systemd 226 and above support this version

#TasksMax=infinity

TimeoutStartSec=0

#set delegate yes so that systemd does not reset the cgroups of docker containers

Delegate=yes

#kill only the docker process, not all process in the cgroup

KillMode=process

#restart the docker process if it exits prematurely

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

[Install]

WantedBy=multi-user.target

5.添加可执行权限

chmod +x /etc/systemd/system/docker.service 
systemctl daemon-reload   #重新加载配置(每次修改文件后需执行)
systemctl start docker.service
systemctl status docker.service
systemctl enable docker.service     ##使服务开启自启

Docker源码安装附内网镜像安装演示

注:如遇到启动不成功可通过状态查询、/var/log/messages/运行日志或直接使用dockerd命令查看错误信息,如还解决不了建议服务器重启一下在运行docker 启动命令

6.配置镜像加速

 vi /etc/docker/daemon.json

{  

"registry-mirrors": ["https://registry.docker-cn.com"] 

}
systemctl daemon-reload   #重新加载配置(每次修改文件后需执行)
systemctl restart docker.service

7.检查安装版本

docker version  ##或

docker -v

Docker源码安装附内网镜像安装演示

内网下载镜像

注:使用 docker pull 拉取镜像的时候需要网络,但是项目部署一般都是在内网。内网访问不了外网,所以需要在外 网环境下把需要的镜像拉取下来打包,然后拷贝到内网,载入到内网的docker

1.在外网机器上拉取mysql镜像,可以看到外网的docker已经拉取了镜像。

docker pull mysql ##拉取mysql 镜像mysql后不跟版本号默认为最新版本
docker images    ## 查看镜像

Docker源码安装附内网镜像安装演示

2.将镜像打包成tar压缩包

 docker save -o mysql.tar mysql:latest    
 docker save #容器ID or name   导出镜像 

Docker源码安装附内网镜像安装演示

3.将打包好的mysql镜像包通过远程工具下载到本地

4.拷贝到内网linux服务器并载入docker

docker load -i mysql.tar         ##导入镜像
docker images

docker基础命令使用(扩展)

下载镜像:(https://hub.docker.com/search/ 官网镜像地址)

docker pull [IMAGE_NAME]:[TAG] #命令格式

docker pull mysql:8.0 #下载mysql8.0镜像(不指定默认下载最新版本)

查看当前镜像版本

docker -v #查看当前安装版本

docker version #查看版本信息

docker info #查看系统信息

docker images #查看当前镜像

docker search 镜像名 #搜索镜像

镜像、容器删除

docker rm 容器ID

docker rm 容器名字

docker rmi 镜像ID

docker rmi 镜像名

docker rmi -f 镜像ID #强制删除

创建网络及数据卷

docker volume create +数据卷名称

docker volume list #查看当前数据卷信息

docker network create -d bridge +网络名称

docker network ls #查看当前网络

docker inspect containername +id # 查看容器的hash值

启动、关闭容器

docker stop $(docker ps -a | awk ‘{ print $1}‘ | tail -n +2) #关闭所有容器

docker start $(docker ps -a | awk ‘{ print $1}‘ | tail -n +2) #开启所有容器

docker inspect 容器ID (使用该命令重点关注容器ip) ##查看容器/镜像元数据

docker exec ##在运行的容器中执行命令

docker exec -it 容器ID /bin/bash ##以交互模式开启伪终端

Docker源码安装附内网镜像安装演示

上一篇:windows环境下安装apache及使用apache搭建反向代理


下一篇:win7下存活的linux