Docker 学习笔记

Docker 学习笔记

根据江南一点雨博客学习笔记

博客地址: 江南一点雨

1. Docker 安装

在 Linux 系统中安装 Docker :

# 安装 Docker
yum -y install docker
# 启动 Docker 服务
service docker start
# 测试安装是否成功
docker -v

2. Docker 容器基本操作

2.1 查看容器状态:

# 查看当前正在运行的 Docker 容器
docker ps
# 查看所有 Docker 容器状态
docker ps -a 

# 显示结果,及参数含义
# CONTAINER ID :容器的 id ,唯一标识符。
# IMAGE :表示创建容器时使用的镜像。
# COMMAND :表示容器最后执行的命令
# CREATED :表示容器创建的时间
# STATUS :表示容器的状态。
# PORTS :表示容器对外开放的端口。
# NAMES :表示容器的名字。
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE      COMMAND       CREATED         STATUS         PORTS         NAMES

2.2 创建容器

使用 docker create 命令创建一个容器,这时候创建出来的容器是处于停止状态,没有运行。例如创建一个 nginx 容器

# 创建容器
docker create Nginx 
# 创建容器时指定容器 name 
docker create --name=mynginx nginx

使用 docker run 命令进行容器创建 + 运行,可以启动两种不同模式的容器:

  • 后台型容器:
# 后台型容器
# --name :表示创建容器的名字
# -d :表示容器在后台运行
# -p :表示将容器的 80 端口映射到宿主机的 8080 端口
docker run --name nginx1 -d -p 8080:80 nginx
  • 交互型容器:
#交互型容器
# 参数含义都和上文一致,it 参数,i 表示开发容器的标准输入(STDIN),t 则表示告诉 docker ,为容器创建一个命令行终端。
docker run --name ubuntu -it ubuntu /bin/bash

创建完成后,会自动打开一个输入终端,这个终端就是 Ubuntu 的终端。可以通过 exit命令退出 Ubuntu 终端。

# 创建结果:
[root@localhost ~]# docker run --name ubuntu -it ubuntu /bin/bash
Unable to find image 'ubuntu:latest' locally
Trying to pull repository docker.io/library/ubuntu ... 
latest: Pulling from docker.io/library/ubuntu
a31c7b29f4ad: Pull complete 
Digest: sha256:b3e2e47d016c08b3396b5ebe06ab0b711c34e7f37b98c9d37abe794b71cea0a2
Status: Downloaded newer image for docker.io/ubuntu:latest
root@98010e0ab704:/# ls
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@98010e0ab704:/# exit
exit
[root@localhost ~]# 

2.3 启动容器

使用 docker start 命令结合容器 id 或者容器 name 启动容器:

# 以容器 id 启动容器
docker start fa02798bc1cd
# 以容器 name 启动容器
docker start Mynginx

使用 docker stop 命令结合容器 id 或者容器 name 终止一个容器:

# 以容器 id 终止容器
docker stop fa02798bc1cd
# 以容器 name 终止容器
docker stop Mynginx

同样,可以通过 docker rm 命令结合容器 id 或者容器 name删除一个容器:

# 删除一个已经终止的容器
docker rm Mynginx
# 强制删除一个正在运行的容器
docker rm -f ubuntu

3. Docker 容器高级操作

3.1 依附容器

主要针对交互型容器而言,例如进入 Ubuntu 容器的输入终端(也可以使用 docker exec 命令,所以 docker attach 命令使用不多)。

docker attach Ubuntu

3.2 容器内执行命令

如果容器是后台型容器,可以使用 docker exec命令在容器内执行。不同与 docker attach ,使用 docker exec 命令即使用户从终端退出,容器也不会停止运行,而使用 docker attach命令时,如果用户从终端退出,则容器会停止运行。

# 启动 Ubuntu 容器终端
docker exec -it ubuntu bash

3.3 查看容器信息

使用 docker inspect 命令结合容器 id 或者容器 nam e查看容器的详细信息,包括容器的 id 、容器名、环境变量、运行命令、主机配置、网络配置以及数据卷配置等信息。

# 查看 mynginx 的详细信息
docker inspect mynginx

使用 format 参数可以只查看用户关心的数据(具体看原博客)。

3.4 查看容器进程

使用 docker top 命令结合容器 id 或者容器 nam e查看一个正在运行的容器进程。

docker top mynginx 

3.5 查看容器日志

使用 docker logs 命令结合容器 id 或者容器 nam e查看容器日志。

docker logs mynginx

4. Docker 镜像基本操作

4.1 镜像查看

使用 docker images查看本地所有镜像。

# 查看所有镜像
# REPOSITORY :仓库名称
# TAG :用于区分同一仓库中的不同镜像,默认为 latest
# IMAGE ID :是镜像的唯一标识符
# CREATED :表示镜像的创建时间
# SIZE :表示镜像的大小
[root@localhost ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
docker.io/ubuntu              latest              c29284518f49        4 days ago          72.8 MB
docker.io/nginx               latest              4cdc5dd7eaad        11 days ago         133 MB
docker.io/redislabs/rebloom   latest              24a7020676a0        7 months ago        146 MB

4.2 镜像下载

具体的请看原博客。

4.3 镜像删除

使用 docker rmi命令删除镜像,参数可以镜像的 id 或者镜像名,参数可以有多个,多个参数之间用空格隔开。

docker rmi 镜像id 

注意,有时候无法删除一个镜像,大部分原因是因为该镜像被一个容器所依赖。此时,需要先删除容器,在删除镜像。

5. 结尾

在松哥的 Docker 博客后面还有很多的高级内容,具体的请移步:江南一点雨

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值