docker学习

环境:centos7

docker命令

--------------------------------------

docker启动停止命令

--------------------------------------

设置远程镜像地址

  vi /etc/docker/daemon.json

启动docker

  systemctl start docker

查看docker启动状态

  systemctl status docker

停止docker

  systemctl stop docker

开机启动docker

  systemctl enable docker

重启docker

  systemctl restart docker

查看docker概要信息

  docker info

--------------------------------------

镜像相关命令

查看镜像

  docker images

搜索互联网镜像

  docker search + 镜像名

拉取镜像(默认拉取最新镜像)

  docker pull + 镜像名称

拉取指定tag镜像

  docker pull + 镜像名称:tag

删除镜像

  docker rmi + 镜像id

删除所有镜像

  docker rmi `docker images -q`

删除镜像时需要先删除有相关镜像启动的容器

--------------------------------------

--------------------------------------

容器相关命令

查看正在运行的容器

   docker ps

查看所有容器

  docker ps -a

查看最好一次运行的容器

  docker ps -l

查看停止的容器

  docker ps -f status=exited

创建与启动容器

创建容器命令:docker run

  -i:表示运行容器

  -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。

  --name:为为创建的容器命名。

  -v:表示目录映射关系(前者时宿主机目录,后者时映射到docker上的目录),可以使用多个-v做多个目录或者文件的映射。最好做目录映射,在宿主机上做修改,然后共享到容器上。

  -d:在run后面加-d表示创建一个守护式容器在后台运行

  -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

交互式方式创建容器

  docker run -it --name=容器名称 镜像名称:标签 /bin/bash

退出当前容器

  exit

守护式方式创建容器

  docker run -di --name=容器名称 镜像名称:标签  /bin/bash

登录守护式容器方式

  docker exec -it 容器名称(或容器id) /bin/bash

停止容器

  docker stop 容器名称(或容器id)

启动容器

  docker start 容器名称(或容器id)

文件拷贝

将文件或目录拷贝到容器

  docker cp 需要拷贝的文件或目录 容器名称:容器目录

将文件从容器内拷贝出来

  docker cp 容器名称:容器目录 需要拷贝的文件或目录

目录挂载

可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过改宿主机的某个目录的文件从而去影响容器。

创建容器 添加-v参数 后边为 宿主机目录:容器目录,例如:

  docker run -di -v 宿主机目录:容器目录 --name=容器名称 镜像名称:标签

查看容器Ip地址

查看容器运行的各种数据

  docker inspect + 容器名称(容器Id)

直接查看容器的ip地址

  docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称+(容器id)

删除容器(需要先停止容器)

  docker rm 容器名称(容器Id)

查看容器启动日志

  docker logs +容器名称

查看宿主机的Ip

  ip a

查看网络详情

  docker network inspect bridge

--------------------------------------

docker网络相关

查看网络的模式  

  docker network ls

查看网桥的信息

  docker inspect bridge

--------------------------------------

 dockerFIle与docker compose的区别

先简单理解 docker 的使用过程,它分为镜像构建与容器启动。

镜像构建:即创建一个镜像,它包含安装运行所需的环境、程序代码等。这个创建过程就是使用 dockerfile 来完成的。

容器启动:容器最终运行起来是通过拉取构建好的镜像,通过一系列运行指令(如端口映射、外部数据挂载、环境变量等)来启动服务的。针对单个容器,这可以通过 docker run 来运行。

而如果涉及多个容器的运行(如服务编排)就可以通过 docker-compose 来实现,它可以轻松的将多个容器作为 service 来运行(当然也可仅运行其中的某个),并且提供了 scale (服务扩容) 的功能。

  

原文地址:https://www.cnblogs.com/erfsfj-dbc/p/11809660.html