Dragon

Docker的使用教程,docker基本运行方式运行命令详解。一文看懂并学会Docker的使用。

一文看懂Docker

相比你一定知道什么是虚拟机,你可以在你的windows电脑上开另一个虚拟的windows电脑出来,你可以在他里面看电视,看学习资料,如果有突发情况你删了他也不会出什么问题QvQ

这里就涉及一个虚拟环境的问题,VMware,Hyper-v它们是在原有的设备上虚拟了一整套系统出来,而docker是你的设备上指定程序虚拟一个特定适合它的环境给它运行可以做到非常小的资源占用
mariadb数据库mysql简单操作使用教程详解

一文学会Docker

docker run -d --name mariadb \     #新建并启动容器-d表示后台运行容器
  -p 3344:3306 \                   #端口:容器默认端口 ——指定有个本机端口映射到容器端口
  -e MYSQL_ROOT_PASSWORD=123456 \  #向容器内传递环境变量,启动容器时用户可以动态传参
  -v /root/nextcloud/mariadb:/var/lib/mysql \   #保持容器文件和外部目录文件同步前面是外部目录后面是容器目录
  --restart unless-stopped \	   #表示容器退出时总是重启,但是不考虑docker守护进程运行时就已经停止的容器
  mariadb:10.5.12                  #镜像名字和版本

docker run -it --name 新名字 镜像名   #新建并启动容器。不会立即进入容器,exit退出后容器会继续运行
内容 说明
-d 守护进程,后台运行容器(启动便退出,再次进入exit退出后会后台运行)
-i 是以交互模式启动(-i和-t通常在一起使用)
-t 是为它分配一个命令行终端(-i和-t通常在一起使用)
-e 向容器内传递环境变量,启动容器时用户可以动态传参
-p 端口:容器默认端口 ——指定一个本机端口映射到容器内端口,使得可以从宿主机访问容器内。小写p
-P 随机分配映射端口。大写P
-v 宿主机目录(文件):容器目录(文件):文件映射,保持容器文件与外部同步
-u 以某个用户身份创建容器
--name nginx 容器命名
-m, --memory bytes 设置容器使用内存最大值
-h, --hostname string 指定容器的 host name
--dns 8.8.8.8 指定容器 dns 服务器
-e username="ritchie" 设置环境变量
--restart= Docker 重启后,容器是否自动重启
--network=host 将容器网络更改为host,可以是任何你创建的网络或是默认网络
--restart=参数

--restart=always 容器退出时,docker会总是会自动重启容器

--restart=on-failure:3 表示容器的退出状态码非0(非正常退出),自动重启容器,自动从其3次。超过3次则不再重启

--restart=no 默认值,容器退出时,docker不自动重启

--restart=unless-stopped 表示容器退出时总是重启,但是不考虑docker守护进程运行时就已经停止的容器

网络配置

docker network create 网络名称               #添加网络
docker network rm 网络名称                   #删除网络
docker network disconnect 网络名称 容器名称   #解除容器绑定的网络
docker network connect 网络名称 容器名称      #指定网络给容器
docker run --network=host  容器名称          #将容器网络更改为host
docker network inspect 网络名称              #查看网络详细信息
名称 说明
bridge 虚拟网桥,默认模式,每一个容器有独立的ip,并将容器连接到docker0网桥上
host 使用宿主机的ip和端口号,容器不会虚拟出自己的网卡不可配置ip
none 有独立的network namespace,但是并没用任何网络设置
container 和另一个指定容器共享ip和端口号,不会虚拟出网卡或者配置ip

镜像拉取及常用操作

docker search 镜像名称                  #查找镜像
docker pull 镜像名:版本                 #拉取镜像latest
docker images                          #查看镜像列表

docker ps                              #查看正在运行的docker容器,加上-a 表示查看所有的容器
exit                                   #容器停止退出。
ctrl+P+Q                               #容器不停止退出
docker start -i 容器名                 #交互模式启动容器
docker restart 容器名                  #重启容器
docker stop 容器名                     #关闭容器
docker kill 容器名                     #暴力关闭容器
docker rm:容器名或id                  #删除已停止的容器。
docker rmi:镜像id                     #删除指定id镜像
docker inspect 容器名称                #查看容器配置
docker rename 容器名 新名字            #修改容器名字

service docker start                  #docker启动
service docker stop                   #docker停止
service docker restart                #docker重启


在容器外执行命令

docker exec -it 容器名 bash           #登录容器
docker exec -it --user 用户名 容器名 bash   #以指定用户登录容器
docker exec -it --user 用户名 容器名 命令   #不进入容器,登录容器执行命令

不能登录容器

usermod -s /bin/bash www-data
su www-data

构建镜像

docker build  -t 镜像名字:镜像标签 目录

-t - 提到镜像的标签

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

小王总给小王总打赏
×
予人玫瑰,手有余香
  • 2
  • 5
  • 10
  • 20
  • 50
2
支付

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

2023-02-05

2023-10-03

发表评论

表情 格式 贴图 链接 私密 签到 常用语
请选择评论常用语:
1、支持一下博主!
2、对我非常有帮助!
扫一扫二维码分享