麒麟操作系统离线安装docker及nginx服务

388 阅读2分钟

1.解压docker压缩文件

tar -zxvf docker-20.10.6.tgz

2.移动解压出来的二进制文件到/usr目录

mv docker/* /usr/bin/

3.配置 Docker 服务

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

4.将下面的内容复制到刚创建的docker.service文件中

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

5.为docker.service添加执行权限

chmod +x /usr/lib/systemd/system/docker.service

6.启动 Docker

systemctl start docker
docker ps
docker -v

7.添加开机自动启动

systemctl enable docker

8.安装 docker-compose

cp docker-compose  /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

9.查看版本

docker-compose -v

10.在docker中导入nginx镜像文件

docker load -i 镜像名.tar

11.查看镜像

docker images

12.给镜像重命名

docker tag 镜像名id 命名的镜像名:版本

13.在home下面创建分别创建以下四个目录

mkdir -p /home/nginx/conf 挂载容器里面的配置,即nginx.conf

mkdir -p /home/nginx/conf.d 挂载容器里面的子配置,即nginx.conf里面include的配置文件

mkdir -p /home/nginx/logs 挂载容器里面的代理的日志文件

mkdir -p /home/nginx/html 挂载容器里面的界面的访问

挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件

14.启动nginx(先不挂载nginx.con配置文件)

docker run -d -p 80:80 --name nginx -v /home/nginx/logs:/var/log/nginx nginx

docker ps 查看正在运行的容器 docker ps -a 查询所有容器(正在运行和其他状态的)

15.将容器中的两个文件拷贝到我们前面准备的指定挂载目录中

docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/
docker cp nginx:/etc/nginx/conf.d/default.conf /home/nginx/conf.d/

16.停止和删除正在运行的nginx容器

docker stop nginx 
docker rm -f nginx

17.编辑启动脚本使用挂载目录的方式去启动nginx容器:

#!/bin/bash docker run -d -p 80:80 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/logs:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html nginx:latest

解释:

命令解读: run:启动一个docker容器

name:设置启动后容器的名称

d: 后台启动

p: 绑定别的端口 -p a:b 将宿主机器的a端口绑定到容器的b端口 -P 为随机绑定到端口

v : 挂载的内容 宿主机器的文件夹:容器的文件夹