前言
Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container)。下面这篇文章将简单介绍一下Docker常用的一些基础命令。
# 在ubuntu中安装docker $ sudo apt-get install docker.io # 查看docker的版本信息 $ docker version # 查看安装docker的信息 $ docker info # 查看本机Docker中存在哪些镜像 $ docker images # 检索image $ docker search ubuntu:14.04 # 在docker中获取ubuntu镜像 $ docker pull ubuntu:14.04 # 显示一个镜像的历史 $ docker history birdben/ubuntu:v1 # 列出一个容器里面被改变的文件或者目 $ docker diff birdben/ubuntu:v1 # 从一个容器中取日志 $ docker logs birdben/ubuntu:v1 # 显示一个运行的容器里面的进程信息 $ docker top birdben/ubuntu:v1 # 从容器里面拷贝文件/目录到本地一个路径 $ docker cp ID:/container_path to_path # 列出当前所有正在运行的容器 $ docker ps # 列出所有的容器 $ docker ps -a # 列出最近一次启动的容器 $ docker ps -l # 查看容器的相关信息 $ docker inspect $CONTAINER_ID # 显示容器IP地址和端口号,如果输出是空的说明没有配置IP地址(不同的Docker容器可以通过此IP地址互相访问) $ docker inspect --format='{{.NetworkSettings.IPAddress}}' $CONTAINER_ID # 保存对容器的修改 $ docker commit -m "Added ssh from ubuntu14.04" -a "birdben" 6s56d43f627f3 birdben/ubuntu:v1 # 参数: # -m参数用来来指定提交的说明信息; # -a可以指定用户信息的; # 6s56d43f627f3代表的时容器的id; # birdben/ubuntu:v1指定目标镜像的用户名、仓库名和 tag 信息。 # 构建一个容器 $ docker build -t="birdben/ubuntu:v1" . # 参数: # -t为构建的镜像制定一个标签,便于记忆/索引等 # . 指定Dockerfile文件在当前目录下,也可以替换为一个具体的 Dockerfile 的路径。 # 在docker中运行ubuntu镜像 $ docker run <相关参数> <镜像 ID> <初始命令> # 守护模式启动 $ docker run -it ubuntu:14.04 # 交互模式启动 $ docker run -it ubuntu:14.04 /bin/bash # 指定端口号启动 $ docker run -p 80:80 birdben/ubuntu:v1 # 指定配置启动 $ sudo docker run -d -p 10.211.55.4:9999:22 birdben/ubuntu:v1 '/usr/sbin/sshd' -D # 参数: # -d:表示以“守护模式”执行,日志不会出现在输出终端上。 # -i:表示以“交互模式”运行容器,-i 则让容器的标准输入保持打开 # -t:表示容器启动后会进入其命令行,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上 # -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>,-v 标记来创建一个数据卷并挂载到容器里。在一次 run 中多次使用可以挂载多个数据卷。 # -p:表示宿主机与容器的端口映射,此时将容器内部的 22 端口映射为宿主机的 9999 端口,这样就向外界暴露了 9999 端口,可通过 Docker 网桥来访问容器内部的 22 端口了。 # 注意:这里使用的是宿主机的 IP 地址:10.211.55.4,与对外暴露的端口号 9999,它映射容器内部的端口号 22。ssh外部需要访问:ssh root@10.211.55.4 -p 9999 # 不一定要使用“镜像 ID”,也可以使用“仓库名:标签名” # start 启动容器 $ docker start 117843ade696117843ade696 # stop 停止正在运行的容器 $ docker stop 117843ade696117843ade696 # restart 重启容器 $ docker restart 117843ade696117843ade696 # rm 删除容器 $ docker rm 117843ade696117843ade696 # rmi 删除镜像 $ docker rmi ed9c93747fe1Deleted # 登录Docker Hub中心 $ docker login # 发布上传image(push) $ docker push birdben/ubuntu:v1
当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
1、检查本地是否存在指定的镜像,不存在就从公有仓库下载
2、利用镜像创建并启动一个容器
3、分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
4、从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
5、从地址池配置一个 ip 地址给容器
6、执行用户指定的应用程序
7、执行完毕后容器被终止
总结
关于Docker常用的基础命令就基本总结这些,希望对有需要的朋友们能有所帮助,如果大家有疑问可以留言交流。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]