Docker从入门到放弃

看完我这里,就彻底入门了,如果对你有帮助,欢迎点赞+收藏❤️+评论噢~
按部就班,先安装..

安装Docker

在CentOS 7上安装Docker主要涉及添加Docker的官方仓库,然后从该仓库安装Docker CE(社区版)
1.安装所需的包:yum-utils提供yum-config-manager工具,而device-mapper-persistent-datalvm2devicemapper存储驱动的依赖包。

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

2.添加Docker仓库:将Docker的官方仓库添加到YUM源中。

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

3.安装Docker CE:从刚添加的仓库中安装Docker CE。

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

4.启动Docker服务:安装完成后,启动Docker守护进程。

sudo systemctl start docker

5.设置Docker开机自启:为了在系统启动时自动启动Docker服务,需要启用其自启动。

sudo systemctl enable docker

6.验证安装:通过运行hello-world容器来验证Docker是否正确安装。

sudo docker run hello-world

这个命令会从Docker Hub拉取一个测试镜像并运行,如果看到欢迎消息,则表明Docker已经正确安装和配置。

常用命令

这里开始入门..
基础命令

- 查看Docker版本信息
docker --version

显示Docker客户端和服务端的版本信息。

- 获取Docker系统的信息
docker info

显示Docker安装的详细信息,包括容器和镜像的数量等。

镜像相关命令

- 搜索镜像
docker search <image-name>

在Docker Hub上搜索公共镜像。

- 拉取镜像
docker pull <image-name>

从Docker Hub或其他镜像仓库下载一个镜像。

- 列出镜像
docker images

列出本地已有的镜像。

- 构建镜像
docker build -t <tag-name> .

根据当前目录下的Dockerfile构建镜像,-t用于给新镜像设置标签。

- 删除镜像

docker rmi <image-id>

删除指定的本地镜像。

容器相关命令

- 创建并启动容器
docker run [options] <image-name>

创建并启动一个容器。常用选项包括-d(后台运行)、-p(端口映射)、–name(指定容器名称)等。

启动容器全参示例
下面是一个docker run命令示例,其中包含了一系列参数,并附上了注释说明。这个示例旨在启动一个Java应用的Docker容器,同时对JVM进行了一系列的配置:

docker run \
  -d \ # 在后台运行容器
  --name my-java-app \ # 为容器指定一个名称
  -p 8080:8080 \ # 将宿主机的8080端口映射到容器的8080端口
  -v /my/local/path:/container/path \ # 将宿主机的/my/local/path目录挂载到容器的/container/path
  -e JAVA_OPTS="-server -Xmn500m -Xms1500m -Xmx1500m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSCompactAtFullCollection -XX:+CMSFullGCsBeforeCompaction=5 -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Xloggc:/path/to/gc.log" \ # 设置环境变量,用于配置JVM选项
  my-java-image \ # 使用的镜像名称
  sh -c 'java $JAVA_OPTS -jar /path/to/your-app.jar'

参数解释:

  • -d:以detached模式运行Docker容器,即容器在后台运行。
  • --name:为你运行的容器设置一个名字,便于后续的管理和引用。
  • -p:端口映射,格式为宿主机端口:容器端口。这里将容器的8080端口映射到宿主机的同一端口。
  • -v:卷挂载,格式为宿主机路径:容器内路径。用于数据持久化或目录内容共享。
  • -e:设置环境变量。这里使用JAVA_OPTS环境变量来传递JVM的配置参数。
  • java -jar /path/to/your-app.jar $JAVA_OPTS:容器启动后执行的命令。这条命令启动了Java应用,同时将JAVA_OPTS环境变量中定义的JVM参数传递给了Java虚拟机。
    请注意,上述命令中的一些选项(如内存配置、GC日志路径等)需要根据你的实际应用需求进行调整。此外,-v和-e中的路径或变量值也应根据实际情况进行修改。
- 列出容器
docker ps [options]

列出容器。不带任何选项时,默认只显示正在运行的容器;-a选项显示所有容器,包括未运行的。

- 停止容器
docker stop <container-id or name>

停止一个运行中的容器。

- 启动容器
docker start <container-id or name>

启动一个已停止的容器。

- 重启容器
docker restart <container-id or name>

重启容器。

- 删除容器
docker rm <container-id or name>

删除一个已停止的容器。使用-f选项可以强制删除正在运行的容器。

- 查看容器日志
docker logs <container-id or name>

查看容器的输出日志。

- 进入运行中的容器
docker exec -it <container-id or name> /bin/bash

使用交互式终端进入正在运行的容器中。对于基于Alpine Linux的镜像,可能需要使用/bin/sh。

网络相关命令

- 列出网络
docker network ls

列出Docker管理的所有网络。

- 创建网络
docker network create <network-name>

创建一个新的Docker网络。

- 连接容器到网络
docker network connect <network-name> <container-id or name>

将一个运行中的容器连接到一个网络。

- 断开容器与网络的连接
docker network disconnect <network-name> <container-id or name>

将容器从网络中断开。

数据卷和持久化数据

- 创建数据卷
docker volume create <volume-name>

创建一个新的数据卷,用于持久化或共享数据。

- 列出数据卷
docker volume ls

列出所有的数据卷。

- 删除数据卷
docker volume rm <volume-name>

删除指定的数据卷。
到此..这里开始放弃..
这些命令覆盖了Docker的基本使用场景,包括镜像管理、容器生命周期管理、网络配置和数据持久化。理解和熟练运用这些命令,将帮助你高效地使用Docker。

天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤…

相关推荐

  1. Docker入门放弃

    2024-03-30 07:58:01       37 阅读
  2. 入门放弃Docker基础教程

    2024-03-30 07:58:01       32 阅读
  3. cka入门放弃

    2024-03-30 07:58:01       55 阅读
  4. Django入门放弃

    2024-03-30 07:58:01       52 阅读
  5. 入门放弃之「ClickHouse」

    2024-03-30 07:58:01       67 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-30 07:58:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-30 07:58:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-30 07:58:01       82 阅读
  4. Python语言-面向对象

    2024-03-30 07:58:01       91 阅读

热门阅读

  1. 2024年github开源top100中文

    2024-03-30 07:58:01       38 阅读
  2. Qt学习建议

    2024-03-30 07:58:01       34 阅读
  3. linux正则表达式之*

    2024-03-30 07:58:01       38 阅读
  4. 机器视觉学习(九)—— 边缘检测

    2024-03-30 07:58:01       33 阅读
  5. BIM自动化简介

    2024-03-30 07:58:01       45 阅读
  6. VUE——mixins混入

    2024-03-30 07:58:01       42 阅读
  7. 如何避免公网IP安全风险

    2024-03-30 07:58:01       39 阅读
  8. MongoDB聚合运算符:$last

    2024-03-30 07:58:01       44 阅读
  9. Linux内网提权

    2024-03-30 07:58:01       43 阅读