Docker常用命令Docker命令 docker常用命令 docker操作 docker教程 docker常用教程 docker docker简单教程 docker最详细教程
Docker常用命令Docker命令 docker常用命令 docker操作 docker教程 docker常用教程 docker docker简单教程 docker最详细教程
1、拉取镜像
示例镜像与版本 mysql:5.6.40
我这边选择的版本是 docker pull mysql:5.6.40
在终端中执行以下命令以拉取镜像:
docker pull mysql:5.6.40
2、查看镜像列表
docker images
3、run命令
帮助信息
docker run --help
docker run
–name 设置docker容器的名称
-d 在后台运行docker
-it 使用交互的方式运行docker
-p 执行容器的端口,如 -p 80:80
-P 随机指定端口
3.1、创建容器并且运行, 最基本的创建运行
命令解释:使用镜像 mysql:5.6.40
创建一个容器,名称为 some-mysql
docker run --name some-mysql -d mysql:5.6.40
3.2、创建容器并且运行, 容器端口绑定宿主机端口
命令解释:使用镜像 mysql:5.6.40
创建一个容器,名称为 some-mysql
,将容器 3306
端口与宿主机1967
相互绑定,在访问宿主机1967
端口的时候,会映射到 对应3306
端口容器
docker run --name some-mysql -p 1967:3306 -d mysql:5.6.40
3.3、创建容器并且运行, 启动容器传递参数
命令解释:
使用镜像 mysql:5.6.40
创建一个容器
名称为 some-mysql
将容器 3306
端口与宿主机1967
相互绑定,在访问宿主机1967
端口的时候,会映射到 对应3306
端口容器
通过-e
传递环境变量参数,MYSQL_ROOT_PASSWORD=123456
运行容器后设置 MYSQL root密码为 123456
docker run --name some-mysql -p 1967:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6.40
3.4、创建容器并且运行, 将宿主机目录挂载到容器目录
命令解释:
使用镜像 mysql:5.6.40
创建一个容器
名称为 some-mysql
将容器 3306
端口与宿主机1967
相互绑定,在访问宿主机1967
端口的时候,会映射到 对应3306
端口容器
通过-e
传递环境变量参数,MYSQL_ROOT_PASSWORD=123456
运行容器后设置 MYSQL root密码为 123456
将宿主机/www/mysql/data
目录挂载到 容器 /var/lib/mysql
目录,/var/lib/mysql
目录 是 MySQL容器数据目录(对应windows版本MySQL根目录的data)这样就可以在宿主机上操作mysql数据
将宿主机/www/mysql/data
目录挂载到 容器 /var/lib/mysql
目录,/var/lib/mysql
目录 是 MySQL容器数据目录(对应windows版本MySQL根目录的data)这样就可以在宿主机上操作mysql数据
MySQL Docker容器目录说明:
/var/lib/mysql
mysql数据目录
/etc/mysql
mysql配置文件目录
docker run --name some-mysql -p 1967:3306 -v /www/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6.40
4、ps 命令
4.1、查看当前正在运行的容器列表
docker ps
4.2、 查看正在运行和历史运行过的docker容器
docker ps -a
4.3、列出最近创建的容器
示例 查看最近创建的两个容器
docker ps -n 2
4.4、 显示所有运行过的容器的id
docker ps -aq
5、容器操作
操作指定容器,容器(CONTAINER ID
)ID使用 docker ps
查看
5.1、进入容器终端(需要容器是启动状态)
命令解释: 进入容器(CONTAINER ID
)ID为ae2c62b56e2f
的终端
docker exec -it ae2c62b56e2f bash
或者使用 容器别名
docker exec -it some-mysql bash
退出容器终端:
exit;
5.2、停止容器
docker stop ae2c62b56e2f
5.3、强制停止容器
当使用docker stop 无法停止时,可以使用docker kill 直接杀掉
docker kill ae2c62b56e2f
5.4、启动容器
docker start ae2c62b56e2f
5.5、重启容器
docker restart ae2c62b56e2f
5.6、删除容器
删除容器需要先停止容器
docker rm ae2c62b56e2f
5.7、删除所有容器
确保所有容器都是停止状态
docker rm -f $(docker ps -aq)
或者
docker ps -aq|xargs docker rm -f
5.8、查看容器的运行日志
实时日志
docker logs -tf 容器id 可以查看启动容器的实时运行日志
docker logs -tf ae2c62b56e2f
部分日志
示例查看指定容器最新10行日志内容
docker logs -tf --tail 10 ae2c62b56e2f
如下查看10行日志
5.9、查看容器的进程信息
docker top 容器id 查看容器中的进程信息
docker top ae2c62b56e2f
5.10、查看容器内部信息
docker inspect 容器id 查看容器内部信息
docker inspect ae2c62b56e2f
5.11、从容器内拷贝文件到宿主机
docker cp <container_id>:/path/to/file /path/on/host
<container_id>
是要拷贝文件的容器ID,/path/to/file
是容器中要拷贝的文件路径,/path/on/host
是宿主机上要保存文件的路径。
例如,要将容器ID为ae2c62b56e2f
的容器中的/app/data.txt
文件拷贝到宿主机上的/tmp
目录下,可以运行以下命令:
docker cp ae2c62b56e2f:/app/data.txt /tmp
完成拷贝后,你可以在宿主机上的/tmp
路径下找到文件。
5.12、从宿主机拷贝文件到容器内
docker cp /path/on/host <container_id>:/path/inside/container
其中,/path/on/host
是要拷贝到容器中的文件路径,<container_id>
是要拷贝到的容器ID,/path/inside/container
是容器内要保存文件的路径。
例如,要将宿主机上的/tmp/data.txt
文件拷贝到容器ID为ae2c62b56e2f
的容器中的/app
目录下,可以运行以下命令:
docker cp /tmp/data.txt ae2c62b56e2f:/app
完成拷贝后,你可以在容器内的/app
路径下找到文件。
6、docker命令
Docker镜像常用操作命令,整合如下:
docker pull
:从Docker Hub或其他注册服务器上拉取镜像。docker push
:将镜像推送到Docker Hub或其他注册服务器上。docker image
:列出、删除和管理本地镜像。docker tag
:为镜像添加标签。docker rmi
:删除本地镜像。docker load
:从tar文件中加载镜像。docker commit
:将运行中的容器提交为新镜像。docker build
:使用Dockerfile构建镜像。docker exec
:在运行的容器中执行命令。docker logs
:查看容器的日志。docker pause
/docker unpause
:暂停和恢复容器的运行。docker rename
:重命名容器。docker rm
:删除容器。docker stats
:查看容器的资源使用情况。docker swarm
:管理Docker集群。docker service
:管理Docker服务。docker stack
:管理Docker应用栈。docker system
:查看系统级别操作的信息。docker version
:查看Docker版本信息。
7、Docker推送镜像到Docker Hub仓库
7.1、登录docker Hub
首先,需要在本地机器上登录Docker Hub账户。打开终端或命令提示符,运行以下命令
docker login
然后输入Docker Hub用户名和密码
7.2、推送Docker镜像到Docker Hub
假设我本地机器有一个镜像名称为 liyangit/springboot-test
tag标签为 0.0.1
, 我需要将这个镜像推送到账户 springboot-test
仓库
运行推送命令
docker push liyangit/springboot-test:0.0.1
liyangit/springboot-test
: 是镜像名称,如果要推送到仓库,镜像名称前缀必须是 用户名/
开头
0.0.1
: 标签版本号
打开docker hub查看 已经成功推送了