计算机网络/计算机科学与应用/系统/运维/开发

12.6 Docker

配置加速器:

[root@localhost ~]# more /etc/docker/daemon.json 
{
  "registry-mirrors": [
 "https://ghcr.geekery.cn",
 "https://hub.geekery.cn",
 "https://docker.m.daocloud.io",
 "https://docker.rainbond.cc",
 "https://docker.1panel.live"
  ]
}


systemctl restart docker 
docker info


如果配置后,还是下载不成功,建议修改本地的dns 8.8.8.8

[root@localhost ~]# more /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 114.114.114.114


镜像images 构建

容器container 执行

仓库Repositories 分发

镜像是一层一层构建的 分层架构

镜像内容是不可修改(只读)

docker pull nginx:1.25.1


docker run -d --name nginx-server -p 8082:80 nginx:1.25.1

-d 后台运行

8082:80 -> 80 表示容器内部端口 映射到宿主机8082端口上


dockerfile实例:

FROM centos 
RUN yum -y install wget && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" && tar -xvf redis.tar.gz

构建镜像

docker build -t myredis:v1 .

获取镜像:

docker pull [选项] [Docker Registry地址 [:端口号]/]仓库名[:标签]


列出镜像

docker image ls 
docker images

查看所有镜像

docker images -q

删除镜像

docker rmi 镜像id

运行镜像

docker run -it --rm centos:7.6.1810 bash

-it 交互模式运行容器 -t是重新分配一个伪终端

--rm 容器退出之后随之将其删除

centos:7.6.1810 表示使用此镜像启动容器

bash 终端

删除一个已经停止的容器

docker rm  容器id或容器名
docker container start 容器名称或容器id 
docker container restart 容器名称或容器id

停止容器 

docker [container] stop 容器名称或容器id

查看正在运行的容器

docker ps

 

进入容器 

docker exec -it -d 容器id  bash

查看容器日志

docker logs [contaienr ID  OR NAMES]

导出容器和导入容器

docker save -o  centos-7.6.1810.tar  镜像id 
docker load -i  centos-7.6.1810.tar


世间最珍贵的不是“得不到”和“已失去”,而是现在能把握的幸福。

评论

^