云边日落 文章本天成,妙手偶得之。 (宋·陆游·文章)
博主 云边日落
渝ICP备2021002886号-1渝公网安备50022502000591号博主 11月5日 在线自豪地使用 Typecho 建站搭配使用 🌻Sunny 主题当前在线 1 人
歌曲封面 未知作品
  • 歌曲封面“魔女の宅急便”~ルージュの伝言松任谷由実

渝ICP备2021002886号-1

渝公网安备50022502000591号

网站已运行 4 年 152 天 20 小时 18 分

Powered by Typecho & Sunny

2 online · 42 ms

Title

docker使用

醴都_collect

·

·

139次阅读
docker
Article
⚠️ 本文最后更新于2021年07月19日,已经过了1220天没有更新,若内容或图片失效,请留言反馈

前言:宁可一思进,莫要一思停

文章参考docke官方文档https://docs.docker.com/

Docker安装

准备工作

Centos下docker有三种安装方式

  • 大多数用户 设置 Docker 的存储库并从中安装,以便于安装和升级任务。这是推荐的方法。
  • 一些用户下载 RPM 包并 手动安装并完全手动管理升级。这在诸如在无法访问互联网的气隙系统上安装 Docker 等情况下非常有用。
  • 在测试和开发环境中,一些用户选择使用自动化的 便捷脚本来安装 Docker。
    这里用官方推荐的方式安装

    ♾️ json 代码:
    安装yum-utils包提供管理
    yum install -y yum-utils
    epel源
    yum install epel-release -y
    配置阿里的储存库
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    查看docker安装包
    yum list docker-ce --showduplicate
    安装docker
    yum install docker-ce docker-ce-cli containerd.io
    开始使用
    ♾️ json 代码:
    开启docker并设置为开机自启
    systemctl start docker
    systemctl enable docker
    拉取hello-world镜像
    docker run hello-world
    docker.PNG
    大致阅读一下可以看出docker获取镜像是先从本地获取,本地没有再去远程拉取
    docker架构
    docker3架构.PNG
kraatp5z.png
kraattr0.png

docker镜像操作

docker官方镜像仓库https://hub.docker.com/repositories

命令行登入远程仓库
♾️ json 代码:
docker login -u 用户名 -p 密码
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
根据提示查看登入凭据
cat /root/.docker/config.json

搜索镜像
docker search 镜像名
docker search mysql
docker4镜像搜索.PNG

docker镜像管理web界面
docker5web镜像.PNG
下载镜像

docker pull 镜像名
docker pull mysql
docker6下载镜像.PNG
注意docker pull命令如果不指定版本默认下载最新版
注意只有dockerhub可以省略镜像路径,其他仓库不能省略
镜像结构: registry_name/repository_name/image_name:tag_name
如:docker pull docker.io/library/mysql:8.0.25

修改镜像名称

docker tag 镜像id 新镜像名称:版本

上传镜像到dockerhub

docker push docker.io/镜像名

删除镜像

docker rmi 镜像标识
删除所有镜像
docker rmi $(image id -q)
这里删除仅删除了本地的镜像

krae1ixr.png
docker是镜像是一层一层的,拉取镜像只第一次拉取比较多,以后只拉取没有的

docker容器操作

查看容器进程
docker ps -a
启动容器(运行镜像)
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
主要的几个选项
OPTIONS:选项
-i:表示启动一个可交互的容器,并持续打开标准输入
-t:表示使用终端关联到容器的标准输入输出上
-d:表示将容器放置在后台运行
-rm:退出后即删除容器
-name:表示定义容器唯一名称
IMAGE:表示要运行的镜像
COMMAND:表示启动容器时要运行的命令

交互式启动一个centos的容器
docker pull centos
docker run -it centos
docker7容器.PNG
非交互启动一个centos容器设置为后台运行并命名为test1
docker run -d --name test1 centos /bin/ping 127.0.0.1

关于后台运行
注意我们docker run启动容器的时候,常需要将其在后台运行,通常我们设置参数 -d 即可。
但后台运行,其实是有前提的,如果没有前台进程,那么实际运行完docker run命令后,会处于退出状态,即exited。
docker8容器.PNG

进入容器
进入容器的两种方式

♾️ json 代码:
docker exec
docker exec [options] CONTAINER(必选) COMMAND(必选) [ARG...]
docker exec -it test1 /bin/bash
官方命令解释:Run a command in a running container,翻译过来就是在一个正在运行的容器中执行命令,exec是针对已运行的容器实例进行操作,在已运行的容器中执行命令,不创建和启动新的容器。
docker attach
docker attach [OPTIONS] CONTAINER
docker attach test1
官方命令解释:Attach local standard input, output, and error streams to a running container,翻译过来,将本机的标准输入(键盘)、标准输出(屏幕)、错误输出(屏幕)附加到一个运行的容器,也就是说本机的输入直接输到容器中,容器的输出会直接显示在本机的屏幕上。
docker9容器.PNG

停止、重启、删除容器
docker stop 容器名/ID
docker restart 容器名/ID
docker rm 容器名/ID
删除所有容器
docker rm $(docker ps -a)

现在已有 0 条评论,1 人点赞
Comment:共0条
发表
搜 索 消 息 足 迹
你还不曾留言过..
你还不曾留下足迹..
博主 不再显示
博主