CentOS上安装Docker及docker常用命令
这里写目录标题
- 一、在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常用命令相关推荐
- JAVAWEB开发之——Linux命令实战、虚拟机和centos的安装以及联网、常用命令、vi编辑以及软件的安装、sftp的使用
Linux简介 Linux是一种自由和开放源码的操作系统,存放着许多不同的Linux版本,但他们都使用了Linux内核.Linux可安装在各种计算机硬件中 比如.手机.平板电脑.路由器.台式计算机中. ...
- centos+7.2+linux版本,在Linux Centos 7.2 上安装指定版本Docker。
相关资料链接: 先清空下"历史" yum remove docker \ docker-common \ docker-selinux \ docker-engine 安装必要的包 ...
- 在CentOS上安装Docker的步骤
在CentOS上安装Docker的步骤如下: 更新系统: sudo yum update 添加Docker官方存储库: sudo yum install -y yum-utils sudo yum-c ...
- Docker系列之常用命令操作手册
Docker系列之常用命令操作手册 继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Docker命令进行实践 文章目录 1.安装虚拟机 2.安装Docker 3.Docker镜像操作 4 ...
- docker之容器常用命令及基本操作
docker之容器常用命令及基本操作 文章目录 docker之容器常用命令及基本操作 一.查看容器 `docker ps`常用选项 二.查看容器日志 `docker logs`命令选项 三.运行容器 ...
- Docker理解及常用命令一
doccker学习笔记二:docker理解及常用命令 docker run理解 docker工作原理 Docker的常用命令 帮助命令 镜像命令 容器命令 docker run理解 回顾刚刚安装doc ...
- 如何在Debian 9上安装和使用Docker
介绍 Docker是一个简化容器中应用程序进程管理过程的应用程序.容器允许您在资源隔离的进程中运行应用程序.它们与虚拟机类似,但容器更便携,更加资源友好,并且更依赖于主机操作系统. 在本教程中,您将在 ...
- 如何在 Ubuntu 20.04 上安装和使用 Docker
如何在 Ubuntu 20.04 上安装和使用 Docker Docker 是一个开源的容器化平台,它允许你构建,测试,并且作为可移动的容器去部署应用,这些容器可以在任何地方运行.一个容器表示一个应用 ...
- Linux学习之CentOS(二)--初识linux的一些常用命令
Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...
最新文章
- 15. Python 函数
- 解决PHP Fatal error mysql_connect() mysql_query()的问题
- 360浏览器使用评价
- 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘
- JavaScript Notes
- CF1063A Oh Those Palindromes
- 乐高积木如何分类更科学_我如何使用(计算机)科学! 处理超过一千个乐高积木
- 哈斯(Hasse)图
- GitHub改为token验证后,如何提交代码?
- sql数据库与c#的null的不同
- SpringBoot引入Redis
- ARP 地址分类 NAT技术
- mysql索引的数据结构
- 一次让你搞懂Android应用签名
- 通过精益售后服务提升企业竞争力
- 磁珠特性以及选型注意事项
- 大学专业有C语言专业吗,大学里哪些专业开设C语言、数电、模电、单片机、嵌入式等课程?...
- 国内首个《超融合技术白皮书》出炉,新华三携手产业联盟成员推动全新生态建设
- 2022 百度面试题
- 计算机操作系统 (第四版汤小丹老师) 复习笔记第一章