Docker在线安装、离线安装及基本使用

本文详细介绍了Docker在CentOS7.x上的在线和离线安装方法,以及Docker-compose的在线和离线安装步骤。同时,文章还涵盖了Docker的基本使用,包括镜像命令、容器操作和如何使用Docker私有仓库。提供了离线安装所需文件的下载链接和操作步骤。
摘要由CSDN通过智能技术生成

环境

CentOS7.x以上的版本

用到的文件链接:https://pan.baidu.com/s/1WTinKjpNY-8AmnH8AwWkjw
提取码:dock

Docker在线安装

  1. yum 包更新到最新
sudo yum update
  1. 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 设置yum源为阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装docker
sudo yum install docker-ce
  1. 安装后查看docker版本
docker -v
  1. 设置ustc 的镜像
    帮助文档
    https://mirrors.ustc.edu.cn/help/dockerhub.html?highlight=docker.
vi /etc/docker/daemon.json  
// 内容
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
  1. 启动、停止、重启、开机启动、查看状态
// 启动
systemctl start docker
// 停止
systemctl stop docker
// 重启
systemctl restart docker
// 开机启动(关闭自启 systemctl disable docker)
systemctl enable docker
// 查看状态
systemctl status docker

Docker离线安装

  1. 根据链接下载自己需要的docker版本,下载慢的可以选择复制包链接到迅雷下载,我现在的是18.06.3,包已上传到网盘(看文章开头)。
    https://download.docker.com/linux/static/stable/x86_64/
    在这里插入图片描述
  2. 把包上传到服务器,解压
tar -xvf docker-18.06.3-ce.tgz

在这里插入图片描述
3. 把解压的文件移动到 /usr/bin/ 下

mv docker/* /usr/bin/
  1. 将docker注册为service,怕复制错的,我也把文件上传到网盘了 docker.service
vi /etc/systemd/system/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
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --graph /date/docker
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 processes 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

在这里插入图片描述

  1. 添加文件权限,启动docker
// 添加文件权限
chmod +x /etc/systemd/system/docker.service
// 重新加载配置文件
systemctl daemon-reload
// 查看版本
docker -v
// 启动
systemctl start docker
// 查看状态
systemctl status docker
// 设置开机自启
systemctl enable docker

在这里插入图片描述

Docker-compose 在线安装

参考文章
链接: https://blog.csdn.net/Rinvay_Cui/article/details/92561007

  1. 拉取docker-compose(版本号 1.23.0 可改)
curl -L https://github.com/docker/compose/releases/download/1.23.0-rc3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  1. 给docker-compose添加可执行权限
chmod +x /usr/local/bin/docker-compose

在这里插入图片描述

Docker-compose 离线安装

  1. 根据链接下载需要的版本(文件已上传,看文章开头)
    链接: https://github.com/docker/compose/releases
    在这里插入图片描述
  2. 文件上传至 /usr/local/bin,并改名为 docker-compose
    在这里插入图片描述
  3. 添加可执行权限
chmod +x /usr/local/bin/docker-compose
  1. 查看版本
docker-compose -v

在这里插入图片描述

Docker的基本使用

服务器没有联网下载不了镜像的,我也有上传镜像的tar包,可以导入操作(看文章开头)

镜像命令

  1. 查看镜像
docker images
  1. 搜索镜像
docker search 镜像name
  1. 拉取镜像
docker pull 镜像name
  1. 删除镜像
docker rmi 镜像id
// 删除所有镜像(` 英文状态下的 ~ )
docker rmi `docker images -q` 

容器命令

1. 查看、删除容器

// 查看正在运行的容器
docker ps
// 查看所有容器
docker ps -a
// 查看最后一次运行的容器
docker ps -l
// 查看停止的容器
docker ps -f status=exited
// 查看运行容器数据
docker inspect tomcat_8090
// 删除容器
docker rm 容器名称/容器ID

2. 容器的创建与启动

创建容器命令:docker run
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
–name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

(1) 交互式创建容器(直接进入容器,exit退出后,容器关闭)

docker run -it --name=容器名称 镜像名称:标签 /bin/bash

(2) 守护式创建容器(不会直接进入容器,退出容器不会关闭)

// 创建
docker run -di --name=容器名称 镜像名称:标签
// 登录
docker exec -it 容器名称 (或者容器ID)  /bin/bash

举例

// 搜索镜像(OFFICIAL 表示官方的)
docker search tomcat
// 拉取镜像
docker pull tomcat
// 查看镜像
docker images
// 将镜像启为容器(-p 端口映射 -v 目录映射 ta <:latest>可省略 )
docker run -di --name=tomcat_8090 -p 8090:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:latest
// 进入容器
docker exec -it tomcat_8090 /bin/bash
// 退出
exit
// 查看运行容器数据
docker inspect tomcat_8090 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

插入一条mysql容器的创建命令

// -e 代表添加环境变量  MYSQL_ROOT_PASSWORD
docker run -di --name=mysql_3306 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql

3. 文件拷贝

docker cp 宿主机需要拷贝的文件或目录 容器名称:容器目录

容器保存为镜像及镜像打包

  1. 容器保存为镜像
docker commit 容器name 另存的镜像name
  1. 镜像保存为tar文件
docker save -o 文件名(tar) 镜像name
  1. 镜像导入
docker load -i 导入的文件名(tar)

Docker私有仓库

  1. 搭建私有仓库
// 拉仓库镜像
docker pull registry
// 启容器
docker run -di --name=registry -p 5000:5000 registry
// 修改 daemon.json,让docker信任仓库地址
vi /etc/docker/daemon.json
// 添加的内容为(逗号隔开),
"insecure-registries":["xxx.xxx.xxx.xxx:5000"]
// 重启docker服务
systemctl restart docker
// 启动私库
docker start registry

在这里插入图片描述

在这里插入图片描述

  1. 把镜像上传至私库
// 标记
docker tag tomcat xxx.xxx.xxx.101:5000/tomcat
// 上传
docker push xxx.xxx.xxx.101:5000/tomcat

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值