前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker学习教程笔记第二篇:Docker从入门到熟练使用详解

Docker学习教程笔记第二篇:Docker从入门到熟练使用详解

原创
作者头像
聚优云惠
修改2020-01-13 18:04:14
7720
修改2020-01-13 18:04:14
举报
文章被收录于专栏:建站教程

Docker的基础是Linux容器(LXC)等技术,(LXC系统提供工具来管理容器,具有先进的网络和存储支持,还有最小容器操作系统模版的广泛选择)。

在LXC的基础上Docker进行了进一步的封装,用户不需要去关心容器的管理,操作更简单。就像操作一个快速轻量的虚拟机一样简单。现在docker是云计算计算发展的重要一环了,各大云服务商都提供了Docker镜像帮助大家快速在Linux Centos环境下安装Docker。例如 腾讯云Docker快速安装镜像(省却手工安装的麻烦)

本系列教程文章汇总:

Docker学习教程笔记第一篇:基本认识Docker以及它的核心概念

Docker的安装和卸载

Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。

社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。

社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

 一、安装docker

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

代码语言:javascript
复制
 $ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

代码语言:javascript
复制
$ sudo yum update

3、卸载旧版本(如果安装过旧版本的话)

代码语言:javascript
复制
$ sudo yum remove docker  docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

代码语言:javascript
复制
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum源

代码语言:javascript
复制
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6、可以查看所有仓库中所有docker版本,并选择特定版本安装

代码语言:javascript
复制
$ yum list docker-ce --showduplicates | sort -r

7、安装docker

代码语言:javascript
复制
$ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
$ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce

8、启动并加入开机启动

代码语言:javascript
复制
$ sudo systemctl start docker
$ sudo systemctl enable docker

9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

代码语言:javascript
复制
$ docker version

 二、安装问题

1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:

复制代码
复制代码
代码语言:javascript
复制
Transaction check error:
  file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
复制代码
复制代码

2、卸载旧版本的包

代码语言:javascript
复制
$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

3、再次安装docker

代码语言:javascript
复制
$ sudo yum install docker-ce

Docker常用命令

1.拉取镜像#

代码语言:javascript
复制
docker pull

2.删除容器#

代码语言:javascript
复制
docker rm <容器名 or ID>

3.查看容器日志#

代码语言:javascript
复制
docker logs -f <容器名 or ID>

4.查看正在运行的容器#

代码语言:javascript
复制
docker ps
docker ps -a # 为查看所有的容器,包括已经停止的。

5.删除所有容器#

代码语言:javascript
复制
docker rm $(docker ps -a -q)

6.停止、启动、杀死指定容器#

代码语言:javascript
复制
docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器

7.查看所有镜像#

代码语言:javascript
复制
docker images

8.拉取镜像#

代码语言:javascript
复制
docker pull <镜像名:tag>
# 例如以下代码
docker pull sameersbn/redmine:latest

9.后台运行#

代码语言:javascript
复制
docker run -d <Other Parameters>
# 例如
docker run -d -p 127.0.0.1:33301:22 centos6-ssh

10.暴露端口#

代码语言:javascript
复制
# 一共有三种形式进行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口

11.映射数据卷#

代码语言:javascript
复制
docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址

Docker的容器管理

这里推荐使用 Portainer 作为容器的 GUI 管理方案。

官方地址:https://portainer.io/install.html

安装命令:

代码语言:javascript
复制
docker volume create portainer_data
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

访问你的 IP:9000 即可进入容器管理页面。

如下:

参考文献:

Centos7上安装docker:https://www.cnblogs.com/yufeng218/p/8370670.html

Linux 下的 Docker 安装与使用:https://www.cnblogs.com/myzony/p/9071210.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker的安装和卸载
    •  一、安装docker
      •  二、安装问题
      • Docker常用命令
        • 1.拉取镜像#
          • 2.删除容器#
            • 3.查看容器日志#
              • 4.查看正在运行的容器#
                • 5.删除所有容器#
                  • 6.停止、启动、杀死指定容器#
                    • 7.查看所有镜像#
                      • 8.拉取镜像#
                        • 9.后台运行#
                          • 10.暴露端口#
                            • 11.映射数据卷#
                            • Docker的容器管理
                            相关产品与服务
                            容器镜像服务
                            容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档