新手快速入门Docker,轻松掌握Docker安装与使用
off999 2025-01-13 16:49 13 浏览 0 评论
安装
使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
手动安装
CentOS 7 (使用yum进行安装)
卸载旧版docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils
# Step 2: 添加软件源信息 (推荐使用下面阿里云源)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 添加阿里云源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 开启一些选项 (这一步可跳过)
sudo yum-config-manager --enable docker-ce-nightly
sudo yum-config-manager --enable docker-ce-test
# 关闭选项
sudo yum-config-manager --disable docker-ce-nightly
# 安装 Docker-CE
sudo yum install docker-ce docker-ce-cli containerd.io
验证
sudo docker version
启动docker
sudo systemctl start docker
读者福利:关注小编+转发文章+私信【项目】获取整理好的100+个Java项目视频+源码+笔记
配置镜像加速器
可以上阿里云获取个人加速地址
https://dev.aliyun.com/
https://cr.console.aliyun.com/cn-shenzhen/instances/mirrors
修改daemon配置文件/etc/docker/daemon.json使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://e3b4lt8s.mirror.aliyuncs.com"]
}
EOF
重启
sudo systemctl daemon-reload
sudo systemctl restart docker
hello world
docker run hello-world
命令
查看帮助
docker --help
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
--config string Location of client config files (default "/root/.docker")
-c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST
env var and default context set with "docker context use")
-D, --debug Enable debug mode
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")
--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")
--tlskey string Path to TLS key file (default "/root/.docker/key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
Management Commands:
builder Manage builds
config Manage Docker configs
container Manage containers
context Manage contexts
engine Manage the docker engine
image Manage images
network Manage networks
node Manage Swarm nodes
plugin Manage plugins
secret Manage Docker secrets
service Manage services
stack Manage Docker stacks
swarm Manage Swarm
system Manage Docker
trust Manage trust on Docker images
volume Manage volumes
Commands:
attach Attach local standard input, output, and error streams to a running container
build Build an image from a Dockerfile
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes to files or directories on a container's filesystem
events Get real time events from the server
exec Run a command in a running container
export Export a container's filesystem as a tar archive
history Show the history of an image
images List images
import Import the contents from a tarball to create a filesystem image
info Display system-wide information
inspect Return low-level information on Docker objects
kill Kill one or more running containers
load Load an image from a tar archive or STDIN
login Log in to a Docker registry
logout Log out from a Docker registry
logs Fetch the logs of a container
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
ps List containers
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
rmi Remove one or more images
run Run a command in a new container
save Save one or more images to a tar archive (streamed to STDOUT by default)
search Search the Docker Hub for images
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
version Show the Docker version information
wait Block until one or more containers stop, then print their exit codes
Run 'docker COMMAND --help' for more information on a command.
查看指定命令帮助
docker images --help
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]
List images
Options:
-a, --all Show all images (default hides intermediate images)
--digests Show digests
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print images using a Go template
--no-trunc Don't truncate output
-q, --quiet Only show numeric IDs
常用命令
查看本地镜像
docker images
docker images -a # 查看本地所有镜像(包括悬空镜像)
docker images -q # 查看本地镜像的镜像ID信息
docker images -qa
docker images --digests # 显示镜像的摘要写信息
docker images --no-trunc # 查看完整的镜像信息
搜索镜像
docker search nginx
搜索点赞数>30的镜像
docker search -s 30 nginx
docker search --filter=stars=20 nginx
列出自动构建的镜像
docker search --automated nginx
docker search --filter=is-automated=true nginx
拉取镜像
docker pull nginx == docker pull nginx:latest
docker pull nginx:3.2
删除镜像
docker rmi hello-world
强制删除镜像
docker rmi -f hello-world
删除多个镜像
docker rmi -f hello-world nginx
删除全部镜像
docker rmi -f $(docker images -qa)
1
容器命令
容器不但可以包含软件, 容器也可以包含一个操作系统
docker search centos
新建并运行容器
docker run
查看帮助
docker run --help
# Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
运行容器
docker run -it centos
docker run -it centos /bin/bash
-i: 以交互模式启动容器, 和-t搭配使用
-t: 为容器重新分配一个输入终端
docker run -it 0d120b6ccaa8
指定容器新名字
docker run -it --name mycentos centos
查看正在运行的容器
docker ps
查看正在运行+历史运行过的容器
docker ps -a
查看上一次运行的容器
docker ps -l
docker ps -lq
查看最近2次运行的容器
docker ps -n 2
关闭并退出容器
exit
只退出不关闭容器
ctrl+p+q
重启启动容器
docker start ID
docker start 04ac5ae5d5fb
停止容器
docker stop ID
docker stop 04ac5ae5d5fb
强制停止容器
docker kill ID
删除已停止的容器
docker rm ID
强制删除容器
docker rm -f ID
一次性所有容器
docker rm -f $(docker ps -qa)
1
以守护进程启动容器
docker run -d centos # [这样会马上退出]
不退出
docker run -d centos /bin/sh -c "while true; do echo hello soul; sleep 2; done"
查看容器日志
docker logs ID
docker logs -f -t --tail 100 ID
查看容器内运行的进程
docker top ID
docker top e7574dd446d6
查看容器内部细节
docker inspect ID
进入正在运行的容器
docker attach ID
docker exec -t ID /bin/bash
直接容器执行命令
docker exec -t ID ls -l /tmp
从容器拷贝文件到主机上
# docker cp 容器ID:容器内路径 目的主机路径
docker cp 04ac5ae5d5fb:/mnt/test.log /data1
生成新镜像副本
# docker commit 提交容器副本成为一个新的镜像
# docker commit -m="描述" -a="作者" 容器ID 镜像名:版本
docker commit -m="my tomcat" -a="soul" 04ac5ae5d5fb soul/go:1.0
运行自定义镜像
docker run -it -p 7777:8080 soul/tomcat:1.0
指定端口运行
# docker run -it -p 主机端口:容器端口 tomcat
docker run -it -p 8081:8080 tomcat
浏览器访问
http://localhost:8080
随机分配主机端口
docker run -it -P tomcat
后台运行
docker run -d -p 6666:8080 tomcat
指定容器数据卷启动 (等于主机目录挂载到容器指定目录)
# docker run -it -v 主机目录:容器目录 镜像名
docker run -it -v /mydata:/mydata centos
只读权限
docker run -it -v /mydata:/mydata:ro centos
容器数据卷共享
docker run -it --name dc01 soul/centos
docker run -it --name dc02 --volumes-from dc01 soul/centos
docker run -it --name dc03 --volumes-from dc01 soul/centos
Redis运行容器
docker run -p 6379:6379
-v /data1/redis/data:/data
-v /data1/redis/conf/redis.conf:/usr/locak/etc/redis/redis.conf
-d redis:5.0.10 redis-server /usr/local/etc/redis/redis.conf
--appendonly yes
MySQL运行容器
docker run -p 12345:3306 --name mysql
-v /data1/mysql/conf:/etc/mysql/conf.d
-v /data1/mysql/logs:/logs
-v /data1/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-d mysql:5.6
备份数据库
docker exec 04ac5ae5d5fb sh -C 'exec mysqldump --all-databases -uroot -p"123456"' > /data1/all-databases.sql
读者福利:关注小编+转发文章+私信【项目】获取整理好的100+个Java项目视频+源码+笔记
提交镜像到阿里云
登录阿里云Docker Registry
$ sudo docker login --username=uisoul registry.cn-shenzhen.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
从Registry中拉取镜像
$ sudo docker pull registry.cn-shenzhen.aliyuncs.com/uisoul/gocentos:[镜像版本号]
将镜像推送到Registry
$ sudo docker login --username=uisoul registry.cn-shenzhen.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/uisoul/gocentos:[镜像版本号]
$ sudo docker push registry.cn-shenzhen.aliyuncs.com/uisoul/gocentos:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
作者:IM魂影
原文:imsoul.blog.csdn.net/article/details/110531103
相关推荐
- 30s带你使用Python打包exe文件,并修改其图标
-
在Python中,我们可以使用PyInstaller或cx_Freeze等工具将Python脚本打包成可执行文件(.exe),并且能够修改生成的.exe文件的图标。使用PyInstaller...
- Python一键打包为windows的exe文件,无需安装python环境即可执行
-
一、为什么要将Python打包为exe?在实际应用中,我们希望Python程序能在没有安装Python环境的电脑上直接运行。将Python代码打包为exe可执行文件,不仅能解决环境依赖问题,还便于程...
- py2exe实现python文件打包为.exe可执行程序(上篇)
-
今天分享的内容为:python程序实现发送、读取邮件来控制电脑的关机与重启(作为py2exe打包成.exe可执行程序的基础文件)一、说明:本文介绍的是使用新浪邮箱作为例子进行讲解,代码实现如下:#c...
- 如何将python程序文件打包生成一个可执行文件(exe文件)
-
在开发Python程序后,有时我们希望将其打包成一个可执行的exe文件,方便在没有Python环境的计算机上运行。下面将详细介绍使用常见工具实现这一目标的方法。安装PyInstaller...
- Python程序打包为EXE的全面指南:从入门到精通
-
引言在Python开发中,将程序打包成可执行文件(EXE)是分发应用程序的重要环节。通过打包,我们可以创建独立的可执行文件,让没有安装Python环境的用户也能运行我们的程序。本篇文章将详细介绍如何使...
- 10个你没有充分利用的令人惊叹的 Python 特性
-
Python的简单性和多功能性使其成为全球开发人员的最爱。每天有超过1000万开发者使用Python进行从网络开发、机器学习到网络脚本等各种开发,Python的功能非常强大。然而,我们中的...
- 编程语言可以用来做什么
-
1.web前端你每天浏览的网页,所看到的页面特效,均是由web前端工程师来实现的2.Java大型购物网站有关通信及网络企业大型企业级应用管理系统大型网游后台数据3.C++嵌入式三维游戏领域人工智能领域...
- 用Python进行机器学习(16)-内容总结
-
对于用Python进行机器学习的内容,到这里就要做一个阶段性总结啦,后续再写的文章就是关于深度学习的了,算是对该部分内容的进阶版。对于机器学习,我们主要介绍了五个方面的内容:第一个就是分类算法,主要包...
- 普通人如何利用python做自媒体赚收益
-
普通人利用Python做自媒体赚收益,最简单的方式是下载某些网站的视频,并利用剪影编辑视频,最后导出发布,每天可以制作个10几条,并设置好定时发布,每天如此坚持下去,一定会有所收获的...
- AI能写什么做什么?这些技能已经颠覆你的认知!
-
在ChatGPT、文心一言等AI工具爆火的今天,人工智能早已不再是科幻电影里的概念,而是实实在在地渗透进我们的生活。**AI到底能写什么?能做什么?它的边界在哪里?**让我们一探究竟!---**1....
- Python 3.14 新特性盘点,更新了些什么?
-
Python3.14.0稳定版将于2025年10月正式发布,目前已进入beta测试阶段。这意味着在往后的几个月里,3.14的新功能已冻结,不再合入新功能(除了修复问题和完善文档)。3...
- 每天一个Python库:sys模块的5个高频用法(建议收藏)
-
很多人学Python,一直卡在“写不了实用脚本”。其实,会用标准库,效率直接翻倍。今天分享的是:sys模块。这个模块虽然基础,但非常实用,下面是我亲测常用的5个功能1.获取命令行参数(自动化脚...
- Python除了做爬虫抓数据还能做什么?其实还能监视和衡量网站性能
-
借助这份对初学者友好的指南,您可以构建自己的自定义Python脚本来自动测量网站的关键速度和性能指标。 在过去的一个月中,Google宣布了许多通过关键速度和性能指标来衡量用户体验的方法。 巧...
- python究竟可以用来做些什么
-
这里就不撰述python的一些像什么“高级语言”之类的比较常规的介绍了,还是老样子,说说一些比较常用的东西吧。python是什么python,一款可编程的开源软件,很多第三方库、框架也是开源的,比如强...
- Python 实现 dubbo 协议接口自动化测试
-
前言python语言也可以实现对dubbo协议的接口进行调用与测试,可以使用python+hessian结合的方式,也可以使用python+telnet结合的方式模拟命令行的模式来实现对...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (54)
- python安装路径 (54)
- python类型转换 (75)
- python进度条 (54)
- python的for循环 (56)
- python串口编程 (60)
- python写入txt (51)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python字典增加键值对 (53)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python qt (52)
- python人脸识别 (54)
- python斐波那契数列 (51)
- python多态 (60)
- python命令行参数 (53)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- centos7安装python (53)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)