首页 > 其他 > 详细

Docker简单使用教程

时间:2020-09-28 22:03:40      阅读:54      评论:0      收藏:0      [点我收藏+]

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

这里介绍一点简单的Docker使用教程,详细教程参考菜鸟教程


Docker 基本语法

安装 Docker

Ubuntu下使用命令:

curl -sSL https://get.daocloud.io/docker | sh

下载镜像

docker pull + 镜像名:标签
eg:docker pull ubuntu:20.04

Docker 官方提供了Docker Hub仓库,所有用户都可以向Docker Hub贡献自己制作的Docker镜像。

创建容器

docker run -it ubuntu:20.04 -p 90:80  /bin/bash

技术分享图片
-i 在新容器内指定一个伪终端或终端。
-t 允许你对容器内的标准输入 (STDIN) 进行交互。
-p 进行端口映射。90:80指的是将主机的90端口映射到容器的80端口。
ubuntu:20.04 镜像名:标签,这里调用20.04版本的ubuntu系统,如果本地上没有相关镜像会自动从Docker Hub上下载。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
运行完成以后,直接进入了Docker容器,这里基本上可以把它当成一个真实的ubuntu机进行使用。输入exit退出容器,退出时容器关闭。
技术分享图片

如果希望建立一个后台运行的Docker容器的话,可以采用。

docker run -dt ubuntu:20.04 -p 90:80  /bin/bash

-d指的是进行后台运行。

开启/关闭 容器

docker ps -a    #列出所有容器
docker ps    #列出正在运行的容器
docker start + 容器id    #开启容器
docker stop  +容器id    #关闭容器

技术分享图片
输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。

主机连接Docker

使用exit退出后,Docker默认会关闭掉,使用docker start重启容器但是并没有进入容器,此时可以用docker attach或者docker exec命令来进行连接。

docker attach + 容器id

技术分享图片
这个命令有个缺点,使用exit退出后容器不会在后台运行,而是跟原来一样被关闭,而docker exec不会有这个问题。

docker exec -it +容器id  /bin/bash

技术分享图片

导出/导入容器

docker export 容器id  > ubuntu.tar

技术分享图片
这里将整个容器导出成ubuntu.tar这个包,就可以进行转移。

cat ubuntu.tar | docker import - test/ubuntu:v1

技术分享图片
这里将ubuntu.tar导入成镜像,镜像名叫test/ubuntu,标签为v1

删除容器

docker rm +容器id

正在运行的容器必须先停下再删除
技术分享图片

Docker镜像

  • 列出本地主机上的镜像。
docker images 

技术分享图片
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小

  • 查找镜像
docker search httpd

技术分享图片

  • 获取镜像
docker pull centos/httpd-24-centos7

技术分享图片

  • 删除镜像
docker rmi +镜像名字:标签
或者  docker rmi  镜像id

技术分享图片

创建镜像

  • 1.从已经创建的容器中更新镜像,并且提交这个镜像。
docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2

各个参数说明:
-m: 提交的描述信息
-a: 指定镜像作者
e218edb10161:容器 ID
1275178869/ubuntu:v2: 指定要创建的目标镜像名

  • 2.使用 Dockerfile 指令来创建一个新的镜像。
#Dockerfile 内容
FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo ‘root:123456‘ |chpasswd
RUN     useradd runoob
RUN     /bin/echo ‘runoob:123456‘ |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D

技术分享图片
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。
第一条FROM,指定使用哪个镜像源
RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。
然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

docker build -t runoob/centos:6.7 .

不要忘了该命令的最后一个.,这里指的是Dockerfile所在的路径,.表示Dockerfile就在当前路径下。
技术分享图片
查看一下镜像:
技术分享图片
多了一个镜像,就是刚才创建的镜像。
具体Dockerfile的编写后面会有介绍,这里就不赘叙了。

设置镜像标签

docker tag 镜像id 镜像名字:标签

技术分享图片

Docker简单使用教程

原文:https://www.cnblogs.com/shenjuxian/p/13746695.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!