栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Docker扫盲

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker扫盲

Docker基础扫盲 扫盲 安装

操作系统:ubuntu20

  • 卸载旧版本:sudo apt-get remove docker docker-engine docker.io containerd runc

  • 更新apt和软件:sudo apt-get update&&sudo apt-get upgrade

  • 安装依赖:sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

  • 添加GPG密钥,官方的:curl -fsSL https://download.docker.com/linux/ubuntu/gpg| sudo apt-key add -或者阿里云的:curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

  • 添加软件源(amd64架构)

    sudo add-apt-repository 
       "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu 
       $(lsb_release -cs) 
       stable"
    
  • 安装docker: sudo apt install docker-ce

  • 尝试建立第一个容器:sudo docker run hello-world

  • 免root :sudo usermod -aG docker [你的用户名]

  • 镜像加速:用阿里云的https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

    按操作文档执行即可

运行第一个docker镜像:

docker run hello-world

  • docker : 当前用户未加入docker组时需要在前面加sudo,使用命令sudo usermod -aG docker [你的用户名]即可将免sudo运行。
  • run 运行docker镜像,若在本地不存在则会从云端仓库里pull下来运行
  • hello-world 镜像名

正常运行则会输出

运行交互式容器

docker run -i -t ubuntu:15.10 /bin/bash

  • -t :在新容器内指定一个伪终端或终端
  • -i : 允许你对容器内的标准输入 (STDIN) 进行交互
  • /bin/bash :在启动的容器里执行的命令

运行成功后进入容器内的终端,尝试执行命令

利用exit即可退出容器终端

后台启动容器

尝试输入

docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

docker run -itd --name ubuntu-test ubuntu /bin/bash

  • -d 后台启动容器
  • –name 指定容器名

这一长串字符串是容器ID,对于每个容器是唯一的

查看容器列表

docker ps

类似于shell的ps命令,显示当前运行的容器

  • -a :显示所有容器

输出详情介绍:

ConTAINER ID: 容器 ID。

IMAGE: 使用的镜像。

COMMAND: 启动容器时运行的命令。

CREATED: 容器的创建时间。

STATUS: 容器状态。

状态有7种:

  • created(已创建)
  • restarting(重启中)
  • running 或 Up(运行中)
  • removing(迁移中)
  • paused(暂停)
  • exited(停止)
  • dead(死亡)

PORTS: 容器的端口信息和使用的连接类型(tcpudp)。

NAMES: 自动分配的容器名称。

查看容器的标准输出

之前后台运行了一个容器,id是f20f2b74cd3e

执行docker logs [容器ID]/[容器名称]

可以看到该容器在标准输出中输出了什么

可以看到该容器输出了一堆hello

停止容器

docker stop [容器ID]/[容器名]

容器使用

docker -h

查看所有docker命令帮助,过多

也可单独查看例如docker run --help的命令

启动已经停止的容器

docker start [容器ID]

重启容器

docker restart [容器ID]

进入容器

在使用-d参数开启容器时默认不进入容器,可通过

docker attach [容器ID]

使用该命令如果从这个容器中退出会导致容器停止

例子:docker attach 3bdcab79f93d

docker exec [操作参数] [容器ID][要执行的命令]

例子:docker exec -it 3bdcab79f93d /bin/bash

导入导出容器

docker export [ID] > xxx.tar

导出容器快照到本地文件xxx.tar

从文件中导入容器快照

cat ubuntu.tar | docker import - inspiring_williamson

删除容器

docker rm -f [容器ID]

清理所有终止状态的容器

docker container prune

尝试运行一个web应用

docker pull training/webapp

docker run -d -P training/webapp python app.py

  • **-d:**让容器在后台运行。
  • **-P:**将容器内部使用的网络端口随机映射到我们使用的主机上。

主机的49153端口映射到了容器的5000端口

尝试访问 主机ip:49153

可以通过修改-p的参数设置端口映射

docker run -d -p 5000:5000 training/webapp python app.py

查看端口映射

docker port [容器ID]

查看容器的进程

docker top [容器名]/[容器ID]

检查容器信息

docker inspect [容器ID]

镜像使用

待续

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582069.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号