docker记录

  • docker 概述
  • docker下载安装
  • 常用docker服务指令
  • 常用docker容器指令
  • docker扩展命令
  • docker常见问题


docker 概述

docker是一种轻量级的虚拟技术,在我看来就是一个微型的虚拟机,image作为容器的模板,以image为一个模板运行起来一个或者多个容器,容器不能同名。docker 有linux版本和windos版本,建议直接Linux版本毕竟即使是windos版本也有很多的命令行操作,进入容器的bash也是基于linux下的。

docker下载安装

ubuntu下:
centos下:
安装部分感觉做开发的应该都能解决的,懒得写了
待更新…

常用docker服务指令

启动docker服务

systemctl start docker

关闭docker

systemctl stop docker

重启docker

systemctl restart docker

常用docker容器指令

运行指定的容器
了解全部命令前我们先了解常用的后缀

-i:以交互模式运行容器,通常与-t同时使用,
-t:为容器重新分配一个伪输入终端,也就是tty,通常与-i同时使用,
--name:为容器指定一个运行中的新名称,
-d:后台运行容器,并返回容器ID,也即启动守护式容器,docker容器后台运行,就必须要有一个前台进程
-v:挂载命令。可以把宿主机的某个目录挂载到容器的指定目录下
-p: 和主机的端口号映射
-e: 作用是指定容器内的环境变量。比如mysql指定MYSQL_ROOT_PASSWORD参数

以启动数据库命令为例:

docker run --name test-mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /root/data:/var/lib/mysql mysql:5.7

-name:运行一个名叫test-mysql的数据库
-d表示该容器在后台运行(注意docker后台运行容器必须有一个前台的容器运行)
-p指定主机3306端口映射到容器的3306端口
-e指定容器内的环境变量这里指定容器密码为123456
-v容器目录挂载。这是宿主机的数据存放路径(你也可以自定义), /var/lib/mysql:这是mysql容器存放数据的地方。也是为了同步数据,防止,容器被删除以后,数据就不存在了。

查看运行中的容器

docker gpu 切换卡 docker切换到linux容器模式_linux


查看所有容器(包括创建但是没运行的)

docker gpu 切换卡 docker切换到linux容器模式_docker gpu 切换卡_02

停止指定容器

格式:docker stop 容器id

注:同时删除多个容器可以并列写多个容器id中间用空格隔开,成功返回容器id

docker gpu 切换卡 docker切换到linux容器模式_docker_03

删除指定容器(需要容器已经停止才能被删除)

格式:docker rm 容器id

docker gpu 切换卡 docker切换到linux容器模式_docker_04

查看所有镜像

格式:docker images

docker gpu 切换卡 docker切换到linux容器模式_服务器_05

删除指定镜像images

格式:docker rmi 镜像id

docker gpu 切换卡 docker切换到linux容器模式_docker_06

进入容器内命令行

docker exec -it rabbitmq /bin/bash //进入容器

格式:docker exec -it 容器名 /bin/bash

docker扩展命令

启动所有容器

docker start $(docker ps -a | awk '{ print $1 }' | tail -n +2)

停止所有容器

docker stop $(docker ps -a | awk '{ print $1 }' | tail -n +2)

docker常见问题

这里我会把我使用docker遇到的问题都贴上,包括问题截图和解决方案
待更新。。。。