这里写目录标题

  • 一、在CentOS上安装Docker Engine
    • 1、Docker Engine安装
    • 1.1 卸载以前的docker
    • 1.2 安装方法
      • 1.2.1 用repository方法安装
        • 0)创建docker-repository
        • 1)安装docker-engine
  • 二、卸载docker
    • 1、卸载Docker Engine, CLI, and Containerd packages:
    • 2、手动删除配置文件
  • 三、开放docker权限给一般用户
  • 四、docker的常用指令
    • 1、镜像与容器的基本操作
      • 1.1 拉取镜像
      • 1.2 运行镜像
      • 1.3 再次查看本地的镜像
      • 1.4 查看正在运行的容器
      • 1.5 查看所有容器
      • 1.6 删除镜像
      • 1.7 删除容器
      • 1.8 启动容器
      • 1.9 停止容器
      • 1.10 重启容器
    • 2、其他附加命令汇总
      • 2.1 docker命令与镜像
      • 2.2容器命令
      • 2.3 测试容器
    • 3、常用容器命令
      • 3.1 后台启动容器
      • 3.2 查看日志
      • 3.3 查看容器元数据inspect
      • 3.4 进入当前正在运行的容器
      • 3.5 从容器内拷贝文件到我的主机上
  • 五、搜索深度学习框架镜像

一、在CentOS上安装Docker Engine

Docker 引擎是用来运行和管理容器的核心软件。通常人们会简单地将其代指为 Docker 或 Docker 平台。因此我们需要在CentOS服务器上安装Docker引擎,以便于多用户进行容器化部署。

下面做一些简要说明,详情请参考官方教程:
https://docs.docker.com/engine/install/centos/.

1、Docker Engine安装

依赖项:
CentOS 7(暂不支持8)
centos-extras repository(默认安装的)
overlay2 storage driver

1.1 卸载以前的docker

老版本的叫docker或者docker-engine,如果存在就用如下命令卸载掉。

$ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
sudo rm -rf /var/lib/docker
(慎重:这是镜像和容器的默认存储位置,不要误删)

1.2 安装方法

1.2.1 用repository方法安装

0)创建docker-repository

更新yum软件包并安装软件包以允许yum通过HTTPS使用存储库:

#更新yum软件包
#yum-utils:管理repository及扩展包的工具 (主要是针对repository)
$ sudo yum update && yum install -y yum-utils
#通过https使用docker-ce存储库
$ sudo yum-config-manager --add-repo \
> https://download.docker.com/linux/centos/docker-ce.repo
已加载插件:fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.reposud
repo saved to /etc/yum.repos.d/docker-ce.repo

docker-ce.repo包含了上述所有软件
参考 《docker-ce介绍》

1)安装docker-engine

a、安装最新版的Docker Engine 和containerd:

$ sudo yum install  docker-ce docker-ce-cli containerd.io

注意:
安装过程中看看fingerprint是否与官方的一致,如果一致就接受GPG key。
Docker 已经被安装了但是还没启动,没有任何用户添加进docker group。

b、安装其他指定版本的docker

查看repository有那些docker版本

# yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks
已安装的软件包
可安装的软件包* updates: mirrors.ustc.edu.cn
Loading mirror speeds from cached hostfile* extras: mirrors.ustc.edu.cn
docker-ce.x86_64            3:20.10.3-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.3-3.el7                    @docker-ce-stable
docker-ce.x86_64            3:20.10.2-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.1-3.el7                    docker-ce-stable
.......

安装指定版本的docker

$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

c、启动docker

$ sudo systemctl start docker

d、通过运行hello-world来测试docker是否正确安装

$ docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.

e、验证:docker --version

docker -v
docker --version
docker version
Docker version 20.10.3, build 48d30b5

f、查看镜像docker image

$ sudo docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    bf756fb1ae65   13 months ago   13.3kB

二、卸载docker

1、卸载Docker Engine, CLI, and Containerd packages:

$ sudo yum remove docker-ce docker-ce-cli containerd.io

2、手动删除配置文件

$ sudo rm -rf /var/lib/docker

三、开放docker权限给一般用户

因为使用docker需要sudo权限,因此需要给一般用户配置docker的sudo权限才行,具体可参考:

方法一:
《centos系统中为用户添加、删除和修改sudo权限》.

方法二:
建立docker 用户组
默认情况下,docker 命令会使用Unix socket 与Docker 引擎通讯。而只有root 用户和docker 组的用户才可以访问Docker 引擎的Unix socket。出于安全考虑,一般Ubuntu系统上不会直接使用root 用户。因此,更好地做法是将需要使用docker 的用户加入docker用户组。

# 建立docker组
sudo groupadd docker
# 将当前用户加入docker组
sudo usermod -aG docker $USER1234

四、docker的常用指令

1、镜像与容器的基本操作

1.1 拉取镜像

docker官方仓库:https://hub.docker.com/.
你想安装的软件镜像都可以在这个仓库里找到。
第一次登录需要注册一个账户

具体操作参考:《docker 拉取镜像》.

1.2 运行镜像

(使用该命令会创建新的容器,相当于每次执行会翻模一次,除了ID不同其他都相同)

(该命令如果本地没有该镜像的话执行该命令相当于:先后执行 pull+run 两个命令

docker run hello-world

1.3 再次查看本地的镜像

docker images

1.4 查看正在运行的容器

(如果容器没事可做会被docker关闭运行状态,因为hello-world打印输出之后就没事可做了,所以执行下面的命令看不到hello-world容器)

docker container ls

简化命令:docker ps

1.5 查看所有容器

(下面的命令可以查看所有容器包括正在运行的、已经结束的)

docker container ls -a

简化命令:docker ps -a
执行上面的命令输出如下:
容器 ID 镜像名称 启动容器时运行的命令 容器的创建时间 容器的状态 容器的端口 容器名称

1.6 删除镜像

1)镜像未在运行
(删除镜像要输入镜像ID,可以只输入前一段能区分就行了)

docker rmi -f 你的镜像ID

2)镜像在运行
方法一:查找运行的进程,并杀死进程:

$ docker images #查询镜像名称
$ ps -ef|grep ndslabs/pycharm-xpra #查询进程号
$ kill -9 4234 4236 #根据进程号杀死进程
$ docker rmi -f e6cab2a906b3 #根据镜像号删除镜像

方法二:
执行删除命令,如果出现 :Error response from daemon: conflict: unable to delete bf756fb1ae65 (must be forced) - image is being used by stopped container 4d102af792af
说明这个镜像还在被容器依赖,这时要先删除它创建的容器(包括已经停止的容器)才能删除该镜像,也可以强制删除:

docker images rm -f bf756

1.7 删除容器

(删除容器和删除镜像差不多 ,输入容器ID前几位就行了)

docker container rm 4d102

简化命令:docker rm 4d102
如果出现:Error response from daemon: You cannot remove a running container a7… Stop the container before attempting removal or force remove
说明该容器正在运行需要先停止运行才能删除,也可以强制删除:

dockers container rm -f 4d102

简化命令:docker rm -f 4d102

1.8 启动容器

(启动容器 ,输入容器ID前几位就行了。可以同时启动多个ID ,空格分隔开来)

docker container start 4d102

简化命令:docker start 4d102

也可以通过如下命令直接进入容器

docker exec -it 3a3afa942911 bash

1.9 停止容器

(停止容器 ,输入容器ID前几位就行了。可以同时停止多个ID ,空格分隔开来)

docker container stop af749

简化命令:docker stop af749

1.10 重启容器

(重启容器 ,输入容器ID前几位就行了。可以同时启动多个ID ,空格分隔开来)

docker container restart af7451

简化命令:docker restart af7451

2、其他附加命令汇总

2.1 docker命令与镜像

docker images #查看现有镜像
docker images -aq #查看所有镜像的id
docker info #查看镜像信息
docker 命令  --help #查看指定命令的帮助,即使用方法
docker images -q #查看镜像id
docker images -aq #查镜像所有id
docker search mysql #搜索指定镜像
docker search mysql --filter=STARS=3000 #过滤指定STARS范围镜像
docker pull --help #拉取或下载新的镜像
docker pull mysql  #例如:拉取镜像mysql
docker pull mysql:5.7 #拉取指定版本的镜像
docker rmi -f 镜像id   #删除镜像
docker rmi -f $(docker images -aq) #删除所有镜像

备注:其他安装命令请参考官方文档:
https://docs.docker.com/reference/

2.2容器命令

说明:有了镜像才能创建容器,例如linux,centos

2.3 测试容器

3、常用容器命令

3.1 后台启动容器

3.2 查看日志

3.3 查看容器元数据inspect

3.4 进入当前正在运行的容器

3.5 从容器内拷贝文件到我的主机上

docker 命令小总结:

五、搜索深度学习框架镜像

搜索深度学习框架镜像,可根据需求拉取镜像即可。

参考:
《Docker学习笔记与深度学习环境的搭建和部署(一)》

CentOS上安装Docker及docker常用命令相关推荐

  1. JAVAWEB开发之——Linux命令实战、虚拟机和centos的安装以及联网、常用命令、vi编辑以及软件的安装、sftp的使用

    Linux简介 Linux是一种自由和开放源码的操作系统,存放着许多不同的Linux版本,但他们都使用了Linux内核.Linux可安装在各种计算机硬件中 比如.手机.平板电脑.路由器.台式计算机中. ...

  2. centos+7.2+linux版本,在Linux Centos 7.2 上安装指定版本Docker。

    相关资料链接: 先清空下"历史" yum remove docker \ docker-common \ docker-selinux \ docker-engine 安装必要的包 ...

  3. 在CentOS上安装Docker的步骤

    在CentOS上安装Docker的步骤如下: 更新系统: sudo yum update 添加Docker官方存储库: sudo yum install -y yum-utils sudo yum-c ...

  4. Docker系列之常用命令操作手册

    Docker系列之常用命令操作手册 继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Docker命令进行实践 文章目录 1.安装虚拟机 2.安装Docker 3.Docker镜像操作 4 ...

  5. docker之容器常用命令及基本操作

    docker之容器常用命令及基本操作 文章目录 docker之容器常用命令及基本操作 一.查看容器 `docker ps`常用选项 二.查看容器日志 `docker logs`命令选项 三.运行容器 ...

  6. Docker理解及常用命令一

    doccker学习笔记二:docker理解及常用命令 docker run理解 docker工作原理 Docker的常用命令 帮助命令 镜像命令 容器命令 docker run理解 回顾刚刚安装doc ...

  7. 如何在Debian 9上安装和使用Docker

    介绍 Docker是一个简化容器中应用程序进程管理过程的应用程序.容器允许您在资源隔离的进程中运行应用程序.它们与虚拟机类似,但容器更便携,更加资源友好,并且更依赖于主机操作系统. 在本教程中,您将在 ...

  8. 如何在 Ubuntu 20.04 上安装和使用 Docker

    如何在 Ubuntu 20.04 上安装和使用 Docker Docker 是一个开源的容器化平台,它允许你构建,测试,并且作为可移动的容器去部署应用,这些容器可以在任何地方运行.一个容器表示一个应用 ...

  9. Linux学习之CentOS(二)--初识linux的一些常用命令

    Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...

最新文章

  1. 15. Python 函数
  2. 解决PHP Fatal error mysql_connect() mysql_query()的问题
  3. 360浏览器使用评价
  4. 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘
  5. JavaScript Notes
  6. CF1063A Oh Those Palindromes
  7. 乐高积木如何分类更科学_我如何使用(计算机)科学! 处理超过一千个乐高积木
  8. 哈斯(Hasse)图
  9. GitHub改为token验证后,如何提交代码?
  10. sql数据库与c#的null的不同
  11. SpringBoot引入Redis
  12. ARP 地址分类 NAT技术
  13. mysql索引的数据结构
  14. 一次让你搞懂Android应用签名
  15. 通过精益售后服务提升企业竞争力
  16. 磁珠特性以及选型注意事项
  17. 大学专业有C语言专业吗,大学里哪些专业开设C语言、数电、模电、单片机、嵌入式等课程?...
  18. 国内首个《超融合技术白皮书》出炉,新华三携手产业联盟成员推动全新生态建设
  19. 2022 百度面试题
  20. 计算机操作系统 (第四版汤小丹老师) 复习笔记第一章

热门文章

  1. GoLang官网怎么查看“包“文档
  2. python --enumerate用法
  3. 小白上路之javascript数组的介绍
  4. 残留的Ramnit埋伏中国热门网站后台
  5. 【CSAPP】家庭作业2.77~2.97
  6. 字谜 大小写重复全排列问题
  7. Springboot的快速入门
  8. 直击|咪蒙公众号自主注销 此前微博已永久关停
  9. 论文的系统 排版软件Latex
  10. 据说,2021年Apple将推出1416英寸MacBook Pro