Docker基本使用

1、简介

Docker 是一个开源的应用容器引擎,基本的概念如下:
镜像(Image):类比文件系统,如ubuntu
容器(Container):容器是镜像运行时的实体,把镜像比喻为类,则容器为其对象实例

2、Docker环境搭建

更新apt

sudo apt-get update

安装依赖

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

添加Docker官方的GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

添加stable版的repository

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

安装最新版本的 Docker Engine-Community 和 containerd

sudo apt-get install docker-ce docker-ce-cli containerd.io

添加docker用户组(避免每次都要sudo

sudo groupadd docker   //创建docker用户组
sudo usermod -aG docker $USER   //添加当前用户到docker组

注销或重启之后直接用docker命令生效,测试如下
docker run hello-world

3、Docker的简单运行

1、基本命令:

docker run ubuntu:15.10 echo "Hello world docker"

其中,docker为可执行文件;docker run表示运行一个容器;ubuntu:15.10为运行的镜像;echo "Hello world docker"表示在容器中执行的命令。即,Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行echo "Hello world"命令。

2、通过交互的方式启动:

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

其中,-t表示在容器中启动终端;-i表示交互式。执行命令后,将进去ubuntu15.10系统,可以通过exit退出。

4、容器的使用

Docker的后台模式启动容器&&基本命令

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

输出4fa069b49e25e7d390593a458306dd914e621036aae2b60f5f82eb26456ff4b0,即容器 ID。
其中,使用 -d 参数时,容器启动后会进入后台

(1)查看容器的运行情况docker ps如下:
在这里插入图片描述
其中:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。

(2)查看容器的输出:docker logs 容器ID
在这里插入图片描述
(3)停止容器:docker stop 容器ID 或者 docker stop 容器NAMES

通过 docker ps 查看,容器是否停止工作

(4)查看运行过的所有容器(包括停止退出的):docker ps -a

列出停止的容器,可用docker start 容器ID启动一个已停止的容器;通过 docker restart 容器ID 重启容器

(5)后台运行:docker run -itd --name ubuntu-test ubuntu /bin/bash

其中,-d 参数默认不会进入容器;可以通过(a)docker attach 容器ID或者(b)docker exec 容器ID 在容器中执行命令(比如docker exec 23496f47fd91 echo hellodocker exec -it 23496f47fd91 /bin/bash)进入容器;方式(a)执行exit会退出容器(即docker ps查看不到容器运行了),方式(b)则保持容器正在运行的状态。

(6)导出和导入容器

docker export 1e560fca3906 > ubuntu.tar  //将容器ID为1e560fca3906 的镜像导出保存
docker import ubuntu.tar test/ubuntu:v2  //导入镜像(也可以通过指定 URL 或者某个目录来导入)
docker images  //查看目前的镜像
docker run test/ubuntu:v2 echo hello //测试新导入的镜像

(7)删除容器:docker rm -f 容器ID (通过docker ps -a可查看是否删除)

5、镜像的使用

(1)列出镜像列表:docker images
在这里插入图片描述
其中:
REPOSITORY:镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小

(2)运行镜像:docker run -t -i ubuntu:15.10 /bin/bash
如果不指定镜像的版本标签docker run -t -i ubuntu /bin/bash,只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像

(3)获取一个新的镜像:docker pull ubuntu:13.10

(4)查找镜像:docker search 镜像名
在这里插入图片描述
其中:
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 点赞次数
AUTOMATED: 自动构建
(5)删除镜像:docker rmi 镜像名 (如docker rmi hello-world

(6)设置镜像标签:docker tag IMAGE-ID REPOSITORY:TAG (如docker tag 860c279d2fec runoob/centos:dev
(7)推送镜像:docker push username/镜像名:tag

//需要登录https://hub.docker.com/注册账号
docker login //登录
docker tag xxx username/hello-world:dev  //username替换为注册的docker用户名
docker push username/hello-world:dev
docker logout  //退出

完成推送后,在https://hub.docker.com 中可以看见推送的镜像

参考:
https://www.runoob.com/docker/docker-tutorial.html
https://blog.csdn.net/White_Idiot/article/details/88950000

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值