Docker基础入门

188 阅读3分钟

1.Docker安装部署(华为云)

1.1 环境准备

创建好华为弹性云服务器ECS,使用XShell连接,然后开始部署

操作系统选取CentOS 7.6

首先查看系统内核,确保是3.10版本以上:uname -r

然后查看系统版本:

确保操作系统正确,然后参考以下链接开始安装:

docs.docker.com/engine/inst…

1.2 安装步骤

首先卸载旧版本的docker:

因为我们是新创建的云服务器,所以之前并未安装过docker

接下来安装yum-utils(一个工具包集合)

yum install -y yum-utils

然后更新yum软件包:yum makecache fast

通过这样的操作可以将软件包信息提前在本地索引缓存,用来提高搜索安装软件的速度

接下来安装社区版和企业版的docker

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

如上所示则安装成功,也可以通过docker version来查看:

社区版的docker和企业版的docker都安装成功

然后设置镜像仓库(默认是国外的)

配置华为云镜像加速器(如果不配置会导致镜像资源pull failed):

首先打开华为云容器镜像服务SWR

www.huaweicloud.com/theme/83122…

点击立即使用后找到镜像中心:

点击右上角的镜像加速器即可获取到镜像仓库地址:

然后根据提示创建配置文件,配置镜像加速器即可;

配置完毕后通过:systemctl daemin-reload重载json文件

然后重启docker服务:sudo systemctl restart docker

通过docker info查看是否镜像加速器是否配置成功:

如上所示则配置成功;


注:如果华为云镜像加速器不好用,可以换用阿里云

cr.console.aliyun.com/cn-hangzhou…

复制加速器地址,修改json文件即可


1.3 简单使用

启动docker:systemctl start docker

查看docker状态:systemctl status docker

如上所示,则已启动

然后测试hello-world:docker run hello-world

如上所示,则测试成功;

如果配置好了镜像加速器,镜像拉取是很快的,如果出现retry,如下:

则大概率是镜像加速器没有配置好

1.4 docker常用命令

  1. docker version:查看版本信息
  2. docker info:查看docker系统信息
  3. docker 命令 --help:查看该docker命令的帮助信息
  4. 帮助文档:docs.docker.com/reference/
  5. dokcer images:查看所有已安装的镜像
  6. docker search:搜索镜像
  7. docker pull 镜像名[:tag]:下载镜像(如果没有tag则默认下载最新的版本)
  8. docker rmi -f 镜像id :删除指定镜像

2.Docker容器启动

首先下载一个centos镜像:docker pull centos

2.1 启动镜像

1.docker run [可选参数] image

参数如下:

  • --name="name":容器名称
  • -d:后台启动
  • -it:使用交互式启动
  • -p:指定端口启动

1.使用交互式启动:docker run -it centos

启动完成后得到一个容器,进入容器内部

使用exit可以退回主机:

2.后台启动:docker run -d centos

使用docker ps -a可以查看容器列表(所有容器,包括运行中和未运行的):

2.2 退出容器

1.exit:停止容器并退出

可以看到,exit之后没有正在运行的容器

2.ctrl+P+Q:容器不停止,直接退出

可以看到当前容器并未停止运行

退出容器之后如何进入:

首先可以通过docker ps -a查看所有容器

可以看到容器的ID,可以通过容器ID进入容器:

2.3 启动/停止容器

1.docker start 容器id :启动容器

2.docker restart 容器id:重启容器

3.docker stop 容器id : 停止当前正在运行的容器

4.docker kill 容器id :强制停止当前容器

2.4 删除容器

目前共有以下容器:

删除容器:docker rm 容器id

可以看到成功删除,但不能删除正在运行中的容器:

只能通过docker rm -f 容器id来强制删除

还可以通过docker rm -f $(docker ps -aq)来删除所有容器:

未完待续