Docker操作
查看日志
docker logs -f mysql --tail 200
修改容器名称
docker container rename test05_mysql_1 mysql
输入 docker 可以查看Docker的命令用法,输入 docker COMMAND help 查看指定命令的详细用法
1. 镜像操作
操作 | 命令 | 说明 |
---|---|---|
查找 | docker search 关键字 | 可以在Docker Hub网站查看镜像的详细信息,如镜像的tag标签 |
抽取 | docker pull 镜像名:tag | :tag表示软件的版本,如果不指定默认是latest |
列表 | docker images | 查看所有本地镜像 |
获取元信息 | docker inspect 镜像id | 获取镜像的元信息,详细信息 |
删除 | docker rmi f 镜像id或镜像名:tag | 删除指定的本地镜像,f表示强制删除 |
2. 容器操作
操作 | 命令 | 说明 |
---|---|---|
运行 | docker run name 容器名 i t p 主机端口:容器端口 d v 主机目录:容器目录:ro 镜 像id或镜像名称:tag | name 指定容器名,名称自定义,如果不指定会自动命名; i 以交互模式运 行,即以交互模式运行容器;t 分配一个伪终端,即命令行,通常组合使用it ;p 指定端口映射,将主机端口映射到容器内的端口;d 表示后台运行,即守 护式运行容器;v 指定挂载主机目录到容器目录,默认为rw读写模式,ro表示 只读 |
列表 | docker ps a q | 查看正在运行的容器,a表示显示所有容器,q表示只显示容器id |
启动 | docker start 容器id或容器名 称 | 可启动容器 |
停止 | docker stop 容器id或容器名 称 | 停止正在运行的容器 |
删除 | docker rm f 容器id或容器名 称 | 删除容器,f表示强制删除 |
日志 | docker logs 容器id或容器名 称 | 获取容器的日志 |
在容器中执行 | docker exec it 容器id或容 器名称 /bin/bash | 进入正在运行的容器中并开启一个交互模式的终端,可以在容器中执行操作 |
拷贝文件 | docker cp 主机中的文件路 径 容器id或容器名称:容器路 径;docker cp 容器id或容器 名称:容器中的文件路径 主 机路径 | 将文件中的文件拷贝到容器中;将容器中的文件拷贝到主机中 |
获取元信息 | docker inspect 容器id | 获取容器的元信息 |
以MySQL为例:
docker search mysql
docker pull mysql
docker run --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7 # 根据mysql:5.7镜像运行容器
docker container exec -it mysql /bin/bash #以交互模式 进入容器中
exit # 退出并关闭容器
docker ps a # 查看所有容易(运行的+未运行的) up为启动
docker start mysql
docker stop mysql
docker rm mysql
docker rm f $(docker ps aq) # 强制删除所有容器
以tomcat为例:
# 示例1:基本用法
docker search tomcat
docker pull tomcat
docker run --name mytomcat -p 8080:8080 -d tomcat:latest
# 测试:http://宿主机地址:8888
docker stop mytomcat
docker ps a
docker start mytomcat
# 示例2:拷贝文件和挂载目录
docker exec -it 06ccfb44874a /bin/bash
cd /usr/local/tomcat/webapps/
exit
echo welcome to tomcat > index.jsp
docker cp index.jsp 06ccfb44874a:/usr/local/tomcat/webapps/ROOT# 将宿主机中的文件拷贝到 容器中指定的目录中
#将容器中的文件拷贝到 宿主机中指定的目录中
docker cp 06ccfb44874a:/usr/local/tomcat/conf/server.xml .
# 问题:如果项目更改了需要重新拷贝war文件,太麻烦,可以直接挂载目录(也称为数据卷Volume) -v可进行多次挂载
docker run --name mytomcat -v /root/help/:/usr/local/tomcat/webapps/ -p 8080:8080 -d tomcat:latest
#示例3:启动多个容器,一个镜像可以启动多个容器,互相隔离、独立
docker run p 8081:8080 d tomcat
docker run p 8082:8080 d tomcat
docker run p 8083:8080 d tomcat
Docker常用操作
输入 docker 可以查看Docker的命令用法,输入 docker COMMAND --help 查看指定命令详细用法。
镜像常用操作
查找镜像:
docker search 关键词
#搜索docker hub网站镜像的详细信息
下载镜像:
TAG不加时默认docker官网中指定最新版本
docker pull 镜像名:TAG
# Tag表示版本,有些镜像的版本显示latest,为最新版本
查看镜像:
docker images
docker images ls
Images(镜像):
将软件环境打包好的模板,用来创建容器的,一个镜像可以创建多个容器
# 查看本地所有镜像
删除镜像:
docker rmi -f 镜像ID或者镜像名:TAG
# 删除指定本地镜像
# -f 表示强制删除
获取元信息:
docker inspect 镜像ID或者镜像名:TAG
# 获取镜像的元信息,详细信息
运行:(run)
docker run --name 容器名 -i -t -p 主机端口:容器端口 -d -v 主机目录:容器目录:ro 镜像ID或镜像名:TAG
# --name 指定容器名,可自定义,不指定自动命名
# -i 以交互模式运行容器
# -t 分配一个伪终端,即命令行,通常-it组合来使用
# -p 指定映射端口,讲主机端口映射到容器内的端口
# -d 后台运行容器
# -v 指定挂载主机目录到容器目录,默认为rw读写模式,ro表示只读
容器列表:
docker ps -a -q
# docker ps查看正在运行的容器
# -a 查看所有容器(运行中、未运行)
# -q 只查看容器的ID
查看日志:
docker logs 容器ID或容器名
到这里便可以访问8080端口,如果是腾讯云的服务器记得把安全端口放行
启动容器:
docker start 容器ID或容器名
停止容器:
docker stop 容器ID或容器名
删除容器:
docker rm -f 容器ID或容器名
# -f 表示强制删除
进入正在运行容器:
docker exec -it 容器ID或者容器名 /bin/bash
# 进入正在运行的容器并且开启交互模式终端
# /bin/bash是固有写法,作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动 bash。
# 也可以用docker exec在运行中的容器执行命令
# --name 指定容器名,可自定义,不指定自动命名
# -i 以交互模式运行容器
# -t 分配一个伪终端,即命令行,通常-it组合来使用
# -p 指定映射端口,讲主机端口映射到容器内的端口
# -d 后台运行容器
# -v 指定挂载主机目录到容器目录,默认为rw读写模式,ro表示只读
退出容器
exit;
拷贝文件:
docker cp 主机文件路径 容器ID或容器名:容器路径 #主机中文件拷贝到容器中
docker cp 容器ID或容器名:容器路径 主机文件路径 #容器中文件拷贝到主机中
获取容器元信息:
docker inspect 容器ID或容器名
```