docker命令参考:docker run | Docker Docs
Docker 官方镜像仓库:https://hub.docker.com/
镜像:安装了某些特定程序的文件-->压缩文件
容器:镜像运行起来之后,就叫容器
镜像指令:
更改docker的镜像库的源
cd /etc/docker vim daemon.json
//添加
{
"registry-mirrors":["https://registry.docker-cn.com","https://mirror.ccs.tencentyun.com"]
}
//重加载源
sudo systemctl daemon-reload
//查看docker信息
docker info
docker启动、关闭命令:
//启动docker
systemctl start docker
//停止docker
systemctl stop docker
//重启docker
systemctl restart docker
//查看docker状态
systemctl status docker
//开机启动
systemctl enable docker
关闭开机启动
systemctl disable docker
//查看docker概要信息
docker info
docker镜像操作指令
//查看docker镜像正在运行的镜像文件
docker container ls
//搜索所有docker search nginx镜像,官方仓库地址:hub.docker.com
docker search [image_name]
//查看本地镜像列表
//REPOSITORY: 镜像名称 TAG: 镜像标签 IMAGEID: 镜像ID
//CREATED : 镜像的创建日期(不是获取该镜像的日期) SIZE: 镜像的大小
//这些镜像都是存储在docker宿主机的 /var/lib/docker 目录下
docker images
//下载tomcat镜像
docker pull [image name]
docker pull tomcat:latest
//上传镜像
docker push [image name]
//删除镜像
docker rmi nginx:latest(按名字删除)
docker rmi 786217b848fd(按编号删除)
//删除所有镜像
docker rmi `docker images -1`
容器指令:
docker容器指令
docker ps
//查看所有容器
docker ps -a
//查看最后一次运行的容器
docker ps -l
//查看停止的容器
docker ps -f status=exited
//删除容器
docker rm 33ff66e1a8f2
docker run指令
//创建容器命令
/*
-i:表示运行容器 -t:表示容器启动后会进入命令行模式。
(加入这两个参数后,容器创建后就能登录进去。即分配一个伪终端。)
--name:为创建的容器命名
-v:表示目录映射关系(宿主机目录:映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。
注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行
(这样创建容器后,不会自动登录容器。)
-p:表示端口映射,前者是宿主机端口后者是容器内的映射端口,可以使用多个-p映射多个端口。
--rm:容器停止后自动删除
--network:指定容器所在的网络
--e:设置容器环境变量
*/
//调用/bin/bash来处理Shell。(一般默认就是它)
//交互方式创建容器
//docker run -it --name=容器名称 镜像名称:标签 /bin/bash
docker run -it --name=tomcat tomcat /bin/bash
//守护方式创建容器
//docker run -id --name=容器名称 镜像名称:标签
//--name后面填容器别名 -v:表示目录映射关系(前者是宿主机目录,后者是要映射到宿主机上的目录) -p 外部访问端口:内部端口
/*
--restart容器停止后是否自动重启
no 不自动重启容器. (默认value)
on-failure 容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always 开机自启
*/
docker run -id --name=tomcat -v /home/webapps:/usr/local/tomcat/webapps -p 8081:8080 --restart=always tomcat
//守护方式登录容器
docker exec -it 容器名称(或者容器ID) /bin/bash
//启动容器:
//docker start 容器名称(或者容器id)
docker start tomcat
//停止容器:
//docker stop 容器名称(或者容器id)
docker stop 10f40e26a4b8
//安装workpress/
//--name后面填容器别名 -p 代码端口映射-->宿主机端口:容器运行端口
//-e 代码添加环境变量 MYSQL_ROOT_PASSWORD是MySQL root是密码 账号默认为root
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -D mysql:5.7
//--link作了关联,运行起来,自动去找数据库
docker run -d --link mysql:mysql -p 86:80 wordpress:5.6
//docker run:docker运行一个软件
//-d后台运行,-p暴露端口,最新版本
//docker run --name 容器名字 --rm -it -p [ip:]主机端口:容器端口 镜像名称 [命令]
docker run -d -p 6379:6379 --name redis redis:5.0.14
//run解压运行文件(还可以检测本地文件是否有)
//客户端:服务端(每个程序会开辟一个空间,叫做容器,单独在容器中运行,80表示其他程序连接的接口)
//-d: 后台运行容器,并返回容器ID
//-p: 指定端口映射
docker run -d -p 81:80 nginx
//安装特定版本nginx
docker run -d -p 81:80 nginx:1.16
docker文件拷贝
//复制到容器
//docker cp 宿主机文件或目录 容器名称:容器目录
docker cp index.html 17d188b91ccd:/usr/local/tomcat/webapps
//从容器复制出来
//docker cp 容器名称:容器目录 需要copy到宿主机的文件或目录
docker cp tomcat:/usr/local/tomcat/webapps/index.html /home/
//目录挂载 -v后边是 宿主机目录:容器目录
docker run -di -v /usr/local/mythml:/usr/local/myhtml --name=mycentos3 tomcat
容器ip
//我们可以通过以下命令查看容器运行的各种数据
//docker inspect 容器名称(或者容器id)
docker inspect 10f40e26a4b8
//直接获取ip
//docker inspect --format=‘{{.NetworkSettings.IPAddress}}’容器名称(或者容器ID)
docker inspect --format=‘{{.NetworkSettings.IPAddress}}’ 10f40e26a4b8
docker迁移备份
//通过以下命令将容器保存为镜像
//docker commit 17d188b91ccd 创建镜像的名称:镜像标签
docker commit 17d188b91ccd mytomcat:5.14
//镜像备份
docker save -o mytomcat.tar mytomcat:5.14
//镜像加载
//-i 输入的文件
docker load -i mytomcat.tar
docker network
docker run --network=
docker network inspect # 根据网络的ID展示网络的详细信息
docker network ls # 展示所有的网络,以列表形式
docker network create # 创建一个自定义网络
docker network connect # 连接一个容器到指定网络上
docker network disconnect # 让一个容器从指定网络上断开
docker network prune # 删除所有未使用的网络
docker network rm # 根据网络的ID,删除一个或多个网络