安装docker
官方源:https://download.docker.com/linux/centos/docker-ce.repo
阿里源:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
这里使用官方源来安装,Docker在国内还算稳定,只是偶尔抽风
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
启动docker
systemctl start docker
添加docker开机启动
systemctl enable docker
常用操作
1. 拉取镜像
命令:
docker pull [镜像名]
下面我们将示例从Docker Hub下载Nginx镜像:
docker pull nginx
2. 运行镜像
语法格式:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
options 参数说明
参数 | 讲解 |
---|---|
-i | 以交互模式运行容器,通常与 -t 同时使用 |
-t | 启动容器后,为容器分配一个命令行,通常与 -i 同时使用 |
-i | 以交互模式运行容器,通常与 -t 同时使用 |
-d | 守护进程,后台运行该容器 |
-p | 指定端口映射,格式:主机(宿主)端口:容器端口 |
-P | 随机端口映射,容器内部端口随机映射到主机的端口(49153起始 49153到65535) |
-v | 目录映射,容器目录挂载到宿主机目录,格式: <host目录>:<容器目录> |
--name my_container | 为容器指定名称 my_container 为你可自定义的值 |
--restart | always :容器在退出后将自动重启;no :容器退出时不重启;on-failure :容器非正常退出(退出代码不为0)时重启;unless-stopped :除非手动停止,否则容器将一直重启 |
--network | 指定容器所在的网络 |
-m, --memory bytes | 设置容器使用内存最大值 |
-h, --hostname string | 指定容器的 host name |
–dns 8.8.8.8 | 指定容器 dns 服务器 |
-e username="teacher" | 设置环境变量 |
–privileged | 容器内是否使用真正的 root 权限 |
–dns 8.8.8.8 | 指定容器 dns 服务器 |
-it | 以交互模式运行容器 |
-rm | 容器停止后自动删除 |
这里仅列出常见的参数。
示例
我们将使用以下代码创建一个Nginx容器:
docker run --name my-nginx-container -p 8080:80 -d nginx
这个命令做了以下几件事情:
- 以Nginx镜像为基础创建一个新的容器。
- 将容器命名为“my-nginx-container”。
- 将容器的80端口映射到本地计算机的8080端口。
- 在后台运行容器。
3. 查看容器
查看正在运行的容器
docker ps
查看包括正在运行的和已停止的容器
docker ps -a
4. 重启容器
命令:
docker restart [容器名称]
示例:
docker restart my_container
5. 停止容器
命令:
docker stop [容器名称]
示例:
docker stop my-nginx-container
6. 删除容器
命令:
docker rm [容器名称]
示例:
docker rm my-nginx-container
7. 查看容器的详细信息
可以使用以下命令来查看:
docker inspect <container_id>
其中,<container_id>
是要查看的容器的ID。该命令将返回一个JSON格式的详细信息列表,包括容器的配置、网络设置、卷挂载等。
8. 查看容器的日志
docker logs <container_id>
该命令将返回容器的标准输出和标准错误输出。可以通过添加参数-f
来实时查看容器的日志信息。例如:
docker logs -f <container_id>
其中,<container_id>
是要查看的容器的ID。
9. 删除镜像
docker rmi <image_id>
其中,<image_id>
是要删除的镜像的ID或名称。如果镜像已经被使用,该命令将会失败。如果要强制删除镜像,可以添加参数-f
。例如:
docker rmi -f <image_id>
如果要删除所有未被使用的镜像,可以使用以下命令:
docker image prune
该命令将删除所有未被使用的镜像,包括悬空镜像、未被标记的镜像和未被使用的构建缓存。
如果要删除所有镜像,包括被使用的和未被使用的镜像,可以使用以下命令:
docker image prune -a
该命令将删除所有镜像,并清除所有未被使用的构建缓存和悬空镜像。请注意,该命令将删除所有镜像,包括正在运行的容器使用的镜像。因此,在使用该命令之前,请确保已经停止并删除所有容器。
10. 更新容器参数
在Docker中,可以使用docker update
命令来更新容器的参数,例如容器的资源限制、环境变量、端口映射等。下面是更新容器参数的步骤:
1. 查看容器的当前参数
使用docker inspect
命令可以查看容器的当前参数。例如,以下命令可以查看名为“my_container”的容器的详细信息:
docker inspect my_container
在输出结果中,可以找到容器的各种参数,例如资源限制、环境变量、端口映射等。
2. 更新容器的参数
使用docker update
命令可以更新容器的参数。例如,以下命令可以更新名为“my_container”
的容器的CPU限制:
docker update --cpus 2 my_container
在上面的命令中,--cpus
选项表示更新容器的CPU限制,2表示将容器的CPU限制设置为2个。
可以使用其他选项来更新容器的其他参数,例如--memory
选项用于更新容器的内存限制,--env
选项用于更新容器的环境变量,--publish
选项用于更新容器的端口映射等。
3. 查看更新后的容器参数
使用docker inspect命令可以再次查看容器的参数,以确保更新已成功应用。例如,以下命令可以查看名为“my_container”的容器的详细信息:
docker inspect my_container
在输出结果中,可以找到容器的各种参数,例如更新后的资源限制、环境变量、端口映射等。
总结:
使用docker update命令可以方便地更新容器的参数,以满足应用程序的需求。在更新容器参数之前,建议先使用docker inspect命令查看容器的当前参数,以确保更新已成功应用。