腾讯云centos上安装docker

下面的操作是在root用户下操作的,如果非root用户在命令行前加上sudo 

1. 系统及内核查看

  • 操作系统:64位的CentOS 7或更新版本。
  • 内核版本:最低要求是3.10,推荐使用3.10或更高版本。
    #查看内核版本
(base) [klfwjfwea@VM-0-6-centos ~]$ uname -r
3.10.0-1160.24.1.el7.x86_64

    #查看系统版本
(base) [klfwjfwea@VM-0-6-centos ~]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

    #查看系统架构    
(base) [klfwjfwea@VM-0-6-centos ~]$ uname -m
x86_64

 2. 卸载旧版本

不确定是否安装过docker也可以执行,卸载时会提升找不到相应的包,如下所示:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# yum remove docker \
>                   docker-client \
>                   docker-client-latest \
>                   docker-common \
>                   docker-latest \
>                   docker-latest-logrotate \
>                   docker-logrotate \
>                   docker-engine
Loaded plugins: fastestmirror
No Match for argument: docker
No Match for argument: docker-client
No Match for argument: docker-client-latest
No Match for argument: docker-common
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
No Packages marked for removal

卸载Docker软件包并不会自动删除与Docker相关的所有数据。特别是以下数据不会被删除:

  • 镜像(images)
  • 容器(containers)
  • (volumes)
  • 网络(networks)

这些数据存储在 /var/lib/docker/ 目录中。如果你希望完全删除所有Docker相关的数据,你需要手动删除这个目录:

rm -rf /var/lib/docker

注意:删除此目录会永久删除所有Docker镜像、容器、卷和网络。请确保你已经备份了需要保留的数据。

3. 更新系统,安装依赖包

更新系统

yum update -y

安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

设置官方仓库

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果因为网络问题无法访问可以使用阿里的镜像

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

4. 安装docker及其插件

yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动docker

systemctl start docker

设置docker开机启动(非必须)

systemctl enable docker

关闭docker

systemctl stop docker

重启docker

#更改配置文件时需要使用下面两条命令

systemctl daemon-reload
systemctl restart docker

#只是简单的重启不涉及到配置改变直接使用下面的命令即可
systemctl restart docker

查看docker状态

systemctl status docker

重启时什么时候需要使用 daemon-reload

  • 当你修改了Docker的配置文件(例如 /etc/docker/daemon.json)时。
  • 当你修改了任何与systemd服务相关的配置文件时。

5. 使用腾讯云Docker镜像源加速

编辑或者新建配置文件: /etc/docker/daemon.json 添加下面的内容

vi /etc/docker/daemon.json

{
  "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}

重启docker即可

systemctl daemon-reload
systemctl restart docker

查看镜像源是否安装成功

docker info

 可以看到下面的提示说明配置成功

6. 验证docker是否安装成功

使用hello-world镜像创建一个示例来验证

docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete 
Digest: sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

 7. docker常用命令

docker常用命令根据其使用流程,使用镜像创建容器(实例),这里可以分为两大类镜像相关和容器(实例)相关,暂时只用到这些知识,后序再补充

镜像和容器的操作都可以使用id和name,因为name在当前主机上也是唯一的

 镜像相关

1. 列出所有镜像
docker images
2. 搜索镜像
docker search IMAGE_NAME
3. 拉取镜像
docker pull IMAGE_NAME

拉取镜像时如果不指定标签默认拉取最新的镜像,如果需要指定版本可以在镜像名后加上:版本号

docker pull ubuntu:latest 拉取最新的镜像可以省略 :latest

docker pull ubuntu:20.04 拉取指定版本,拉取 ubuntu 的 20.04 版本

 如果你想查看某个镜像的所有可用标签,可以访问Docker Hub上的该镜像页面。例如,访问 Ubuntu镜像页面 可以查看所有可用的标签和版本。

4. 删除镜像
docker rmi IMAGE_ID
5. 删除所有未使用的镜像
docker rmi $(docker images -q)

容器相关

1. 创建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

示例

运行一个ubuntu镜像并进入交互式终端:

docker run -it ubuntu /bin/bash

主要选项(OPTIONS)

  • -d:以守护进程模式运行容器(在后台运行)。
  • -it:结合使用-i(交互式)和-t(伪终端)选项,使容器能够交互。
  • --name:为容器指定一个名称。
  • -p:指定端口映射,例如-p 8080:80
  • -v:挂载一个主机目录或卷到容器中,例如-v /host/path:/container/path
  • --rm:容器停止后自动删除容器。

示例命令

  1. 运行并进入交互式终端

    docker run -it ubuntu /bin/bash
  2. 以守护进程模式运行一个容器

    docker run -d --name mycontainer ubuntu sleep 1000

    后台守护进程主要用户后台长期运行的服务,比如mysql等,如果容器中运行的程序结束,那么容器也会结束运行.所以后台启动docker容器适合运行长期后台运行的服务.
     

  3. 运行一个带端口映射的容器

    docker run -d -p 8080:80 nginx

    命令将主机(服务器)的8080端口映射到容器的80端口。具体来说,这意味着:
    -d:以守护进程模式(后台)运行容器。
    -p 8080:80:将主机的8080端口映射到容器的80端口。主机上的任何访问8080端口的请求都会被转发到容器的80端口。

    这样,主机上的http://localhost:8080http://YOUR_HOST_IP:8080 将被转发到容器中的Nginx服务器的80端口。

  4. 挂载主机目录到容器

    docker run -d -v /host/data:/data myimage
2. 列出所有容器
docker ps -a

docker ps会列出正在运行的程序加上 -a会列出所有容器

3. 停止运行中的容器
docker stop CONTAINER_ID
4. 启动已经停止的容器
docker start CONTAINER_ID

docker start 命令在后台守护模式启动容器,不提供交互式终端,要进入容器的交互式终端,可以使用 docker exec -it CONTAINER_ID /bin/bash 参考下面的第 6条

5. 删除一个容器
docker rm CONTAINER_ID

 docker rm删除容器docker rmi 删除镜像,后面的i就是镜像image缩写

6. 进入运行中的容器
docker exec -it CONTAINER_ID /bin/bash
7. 查看容器日志
docker logs CONTAINER_ID
 8. 重启容器
docker restart CONTAINER_ID
 9. 查看容器的资源占用情况
docker stats CONTAINER_ID
10. 查看容器的详细信息
docker inspect CONTAINER_ID
11. 停止所有运行中的容器
docker stop $(docker ps -q)
12. 删除所有容器
docker rm $(docker ps -a -q)

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值