编程知识 cdmana.com

Docker(应用容器引擎)的安装与基本操作——Docker系列文章(一)

文 | 平哥 日期 | 20201112

一、Docker简介

Docker 是基于 Go 语言实现的开源容器项目。期望达到使项目运行环境“一次封装,到处运行”的目的。

学习Docker主要目的是能够做两件事情:
1.在Docker安装软件
2.把项目部署到Docker

Docker架构:

Docker 是通过安装在宿主机上的Daemon后台程序来接收客户端命令,创建容器实例,从远程镜像仓库中心拉取或创建镜像。

二、Docker安装与启动

Docker有windows和linux版本。本次操作以安装在Linux上进行演示的。
以下安装步骤基于CentOS8,需要确保该虚拟机可以连接外网。

1.Docker 安装

Step 1 上传安装包

Docker的安装可以分为在线安装和本地安装,由于需要连接Docker官网,网速感人且极易失败,于是我采用的是本地安装。
具体安装包:
链接: https://pan.baidu.com/s/1QYwL... 密码: ljsk

将下载好的安装包上传至CentOS中:

Step 2 安装依赖和Docker

使用 yum localinstall 命令分别安装:
1、先安装 containerd.io:

# yum localinstall containerd.io-1.2.6-3.3.fc30.x86_64.rpm 

2、安装 docker-ce:

# yum localinstall -y libcgroup
# yum localinstall -y docker-ce-cli-19.03.12-3.el7.x86_64.rpm
# yum localinstall -y docker-ce-19.03.12-3.el7.x86_64.rpm

Step 3 启动并检查Docker

启动命令:

# systemctl start docker

查看docker信息:

# docker info

结果如图:

Step 4 阿里云镜像加速器配置

默认情况下Docker从Docker Hub上下载镜像资源,但速度很慢,可以通过配置国内的镜像加速器来解决。
登录阿里云控制台,输入“容器镜像服务”进行搜索,点击“镜像加速器”:

在安装好的Docker的服务器上,按照页面说明配置daemon.json配置文件并重启即配置完成。

三、Docker镜像操作

3.1 列出本地所有镜像

命令:

# docker images

结果如图:

结果解释:
REPOSITORY:镜像所在的仓库名称
TAG:镜像标签(其实就是版本)
IMAGE ID:镜像ID
CREATED:镜像的创建日期(不是获取该镜像的日期)
SIZE:镜像大小

3.2 搜索远程镜像

若本地没有需要的镜像,则可以去远程镜像仓库中心进行搜索,命令:

# docker search mysql

结果如图:

结果解释:
NAME:仓库名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

3.3 拉取镜像

使用如下命令,即可从远程镜像仓库中拉取镜像:

docker pull mysql:latest

四、Docker容器操作

可以将Docker容器看成是最简单的Linux环境(包括系统内核、root用户权限、进程空间、网络空间和用户空间)和运行在其中的应用程序(比如MySQL)。

4.1 新建容器

命令:

docker create [options] 镜像名称或ID

例如:

# docker create --name mysqlgcp -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql:latest

参数说明:
--name:用于给创建的容器重命名
-p:宿主机和docker容器的端口映射,hostPort:containerPort
-e:设置参数
有可能会用-v:主机和容器的目录映射关系,":"前为主机目录,之后为容器目录

以上容器创建,但未运行。

4.2 查看容器

以下命令查看本地正在运行的容器:

# docker container ls

若想查看所有已经创建的容器,即包括未运行的容器(如4.1创建的容器),加入-l参数:

# docker container ls -l

结果:

其他常用参数说明:
-n 数字:显示最近n个创建的容器
-a:列出所有的运行过的容器
-q:列出容器id

4.3 启动容器

使用以下命令启动已创建的容器:

# docker start mysqlgcp
或:
# docker start 52bdd1defcd8

即可以使用容器名称或容器ID

4.4 与运行中的容器交互

使用如下命令与运行中的容器进行交互:

# docker exec [option] 容器ID [command]

例如:

docker exec -it 52bdd1defcd8 /bin/bash

参数说明:
-i:以交互模式运行容器,通常与-t连用
-t:为容器重新分配一个伪终端,通常与-i连用

效果如图:

从容器终端中退出,使用exit命令

4.5 停止容器

命令如下:

# docker stop 容器名称或容器ID

4.6 创建并运行容器

命令如下:

# docker run [options] 镜像名称或镜像ID [COMMAND] [ARG...]

具体命令举例如下:

# docker run -p 3307:3306 --name mysqlgcp -e MYSQL_ROOT_PASSWORD=root -d mysql:latest

版权声明
本文为[平哥]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000038140925

Scroll to Top