阅读 60

必会系列!别给我说你还不会 Docker 的安装与使用!

Docker现在是IT界领先的软件容器平台,Docker的出现及流行,让开发者可以打包应用以及依赖包到一个可移植的容器中,通过容器可以实现应用的快速部署,无论部署到Linux机器还是Windows机器上,容器中的应用都会运行在同一种环境下。可以说,Docker使得创建、部署和管理容器变得特别简单。

以上是官话,不理解也没关系,重要的是会操作

如果你之前已经了解Docker,但是没有实际操作使用过,那么请接着看,接下来就自己动手搞一搞Docker。

image.png

使用安装脚本安装

官方提供了自动安装脚本,可以使用命令行自动安装,命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 复制代码

由于外网太慢,也可以使用国内的daocloud自动安装命令:

curl -sSL https://get.daocloud.io/docker | sh 复制代码

手动安装

卸载已经安装的docker旧版本

如果机器之前已经安装过docker,需要执行以下命令,卸载旧的docker:

  • 列出docker安装过的相关包

sudo yum list installed | grep docker 复制代码

containerd.io.x86_64            1.4.11-3.1.el7                 @docker-ce-stable docker-ce.x86_64                3:20.10.9-3.el7                @docker-ce-stable docker-ce-cli.x86_64            1:20.10.9-3.el7                @docker-ce-stable docker-ce-rootless-extras.x86_64                                 20.10.9-3.el7                  @docker-ce-stable docker-scan-plugin.x86_64       0.8.0-3.el7                    @docker-ce-stable 复制代码

  • 分别删除

yum -y remove containerd.io.x86_64 \               docker-ce.x86_64 \               docker-ce-cli.x86_64 \               docker-ce-rootless-extras.x86_64 \               docker-scan-plugin.x86_64 复制代码

  • 删除相关软件包

sudo yum remove docker docker-common docker-selinux docker-engine 复制代码

  • 删除相关的镜像与容器

sudo rm -rf /var/lib/docker 复制代码

安装依赖并设置docker镜像

  • docker依赖于系统的一些必要的工具,可以提前安装。

yum install -y yum-utils device-mapper-persistent-data lvm2 复制代码

  • 设置docker镜像(阿里云镜像)

sudo yum-config-manager \     --add-repo \     https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 复制代码

安装docker

sudo yum install docker-ce docker-ce-cli containerd.io 复制代码

启动docker

  • 启动:

sudo systemctl start docker # 或者 service dockers start 复制代码

当执行完启动命令,可以使用docker version命令检查docker是否安装成功。

  • 配置开机自启动:

sudo systemctl enable docker 复制代码

  • 停止

sudo systemctl stop docker # 或者 sudo service docker stop 复制代码

  • 重启

sudo systemctl restart docker # 或者 sudo service docker restart 复制代码

  • 查看docker状态

sudo systemctl status docker # 或者 sudo service docker status 复制代码

Docker常用命令

docker镜像相关命令

# 搜索镜像 docker search 镜像名 # 拉取镜像 docker pull 镜像名:tag # 查看已下载的镜像 docker images # 删除镜像 docker rmi 镜像ID # 强制删除镜像 docker rmi -f 镜像ID 复制代码

docker容器相关命令

新建并启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用OPTIONS说明:

  • -i:以交互模式运行容器,通常与 -t 同时使用

  • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用

  • --name:指定容器名称

  • -d:创建一个守护进程在后台运行容器,并返回容器ID

  • -P:随机分配端口映射

  • -p:指定端口映射,前者宿主机端口,后者是容器的映射端口

  • -m:设置容器使用内存大小

例如,使用镜像boystar/ubantu以交互模式启动一个命名为my_ubantu容器,在容器内执行/bin/bash命令。

[root@centos7 ~]# docker run -it --name my_ubantu boystar/ubantu /bin/bash root@6065ec1d0437:/# ls bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var root@6065ec1d0437:/# 复制代码

查看容器
docker ps [OPTIONS]

常用OPTIONS说明:

  • -a:查看全部容器

  • -l:显示最近创建的容器

  • -n:显示最近n个创建的容器

  • -q:静默模式,只显示容器编号

退出容器

  • exit:容器停止退出

  • ctrl+P+Q 容器不停止退出

进入容器

docker attach 容器名称 复制代码

或者:

docker exec -it 容器名称/容器ID /bin/bash 复制代码

其他命令

# 启动容器 docker start 容器名称/容器ID # 停止容器 docker stop 容器名称/容器ID # 强制停止容器 docker kill 容器名称/容器ID # 删除容器 docker rm 容器名称/容器ID # 强制删除容器 docker rm -f 容器名称/容器ID # 删除所有容器 docker rm $(docker ps -a -q) # 查看容器日志 docker logs -t -f 容器名称/容器ID 复制代码

实战 Docker 安装 Redis

拉取redis镜像

docker pull redis:latest 复制代码

启动容器

docker run -itd --name my_redis -p 6379:6379 redis 复制代码

其中 -p 6379:6379:映射容器服务的6379端口到宿主机的6379端口。外部可以直接通过宿主机ip:6379访问Redis的服务。

运行 redis 客户端测试

[root@centos7 ~]# docker exec -it my_redis /bin/bash root@862c8129f379:/data# redis-cli 127.0.0.1:6379> set test 1 OK 127.0.0.1:6379> 复制代码

总结

本篇主要介绍了Linux下Docker的安装及使用,至于Docker的概念及架构暂不介绍。还有就是国内从Docker Hub拉取镜像时可能会有问题,可以配置镜像加速器,Docker官方和国内很多云服务商都提供了国内加速器服务,此处也不赘述,想了解的可以自行了解配置。


作者:tigeriaf
链接:https://juejin.cn/post/7018093567105040414


文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐