docker入门

腾讯云《Docker 快速入门》

安装最新版Docker

卸载旧版本的Docker

列出已安装的Docker包

yum list installed | grep docker

若有,则卸载已安装的Docker包,示例如下;若无,直接进入下一步

yum -y remove docker-ce-cli.x86_64
yum -y remove docker-ce.x86_64
yum -y remove containerd.io

安装相关依赖

安装Docker所需要的依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

添加Docker的yum源

yum-config-manager --add-repo https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo

安装最新版Docker

yum安装docker

yum install -y docker-ce docker-ce-cli containerd.io

验证是否安装成功

docker version

出现版本号即为成功安装
docker入门_第1张图片

启动Docker

执行以下命令启动Docker

systemctl start docker

把Docker设置为开机自启

systemctl enable docker

查看Docker运行状态

service docker status

例如下图为Docker正在运行
docker入门_第2张图片

运行Docker容器

配置镜像加速

创建Docker配置目录

mkdir -p /etc/docker

配置Docker镜像加速源

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF

重启守护进程并重启Docker

systemctl daemon-reload && systemctl restart docker

重启后,镜像加速配置成功

运行第一个容器

使用docker run可以直接拉取镜像并直接运行一个容器

docker run --name=hello hello-world

这行命令会直接拉取 hello-world 镜像,然后运行一个 hello 容器,可以通过以下命令查看该容器的进程:

docker ps -a

在这里插入图片描述

拉取镜像

我们也可以一步一步来运行容器。以 calibre-web 为例,先拉取 Docker 镜像:docker pull johngong/calibre-web
查看现有的镜像:

docker images

如图所示,calibre-web 镜像拉取成功:
在这里插入图片描述

创建容器

镜像拉取成功后,根据镜像创建容器:

docker create --name=calibre-web -p 80:8083 -v /data/calibre-web/library:/library -e WEBLANGUAGE=zh_CN johngong/calibre-web

其中:

  • docker create 是创建容器的命令
  • –name=calibre-web 表示创建的容器的名称
  • -p 80:8083 表示该容器将 80 端口映射到 8083 端口
  • -v /data/calibre-web/librery:/libray 表示该容器将 /data/calibre-web/library 目录映射为 /library 目录
  • -e WEBLANGUAGE=zh_CN 表示该容器定义了一个变量,变量名是 WEBLANGUAGE,变量值是 zh_CN
  • johngong/calibre-web 是容器的镜像,这里也就是我们前面拉取的镜像

查看容器

使用如下命令可以查看现有的全部容器

docker ps -a

如图所示,calibre-web 容器创建成功:
在这里插入图片描述
与 docker run 不同的是,docker create 创建出来的容器不会直接运行。可以查看下运行中的容器进程:

docker ps

可以看到,没有任何容器在运行:
在这里插入图片描述

启动容器

使用以下命令启动刚才创建好的容器:

docker start calibre-web

停止和删除容器

停止容器

要停止正在运行的容器有两种方法。一种是 docker stop,例如:

docker stop calibre-web

使用 docker ps 命令可以看到,正在运行的容器中已经没有 calibre-web 了:
在这里插入图片描述
另一种方法是 docker kill,例如:

docker kill calibre-web

这两种方法的区别在于,docker stop 会给时间让容器保存最后的运行状态,而 docker kill 则会直接关闭容器。

删除终止状态的容器

使用 docker rm 命令可以删除指定的容器,例如:

docker rm hello

删除运行状态的容器

我们先重新运行 calibre-web 容器:

docker start calibre-web

这时候我们用 docker rm 删除该容器:

docker rm calibre-web

命令行会报错:
在这里插入图片描述

要删除运行状态的容器,需要带上 -f 选项:

docker rm -f calibre-web

正在运行的 calibre-web 会被强制停止并删除。

删除指定镜像

使用 docker rmi 命令可以删除指定的镜像,例如:

docker rmi hello-world

删除所有镜像

我们可以通过 docker rmi 跟镜像 ID 来删除指定的镜像。而获取所有镜像 ID 的命令是:

docker images -q

我们可以用这些 ID 一次性删除所有镜像:

docker rmi `docker images -q`

你可能感兴趣的:(java,docker,eureka,spring,cloud)