docker常用命令
检索: docker search 关键字 eg:docker search redis
我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。
拉取(下载): docker pull 镜像名:tag :tag是可选的
tag表示标签,多为软件的版本,默认是latest
列表 :docker images 查看所有本地镜像
删除 :docker rmi image-id 删除指定的本地镜像
容器操作
以tomcat为例:
1.下载tomcat镜像
docker pull tomcat
2.如需选择具体版本,可以在https://hub.docker.com/搜索tomcat
docker pull tomcat:7.0.96-jdk8-adoptopenjdk-hotspot
3.根据镜像启动容器,不加TAG默认latest,如果没有下载latest会先去下载再启动
docker run --name mytomcat -d tomcat:latest
--name
:给容器起个名字-d
:后台启动,不加就是前端启动,然后你就只能开一个新的窗口连接,不然就望着黑乎乎的窗口,啥也干不了,Ctrl+C即可退出,当然,容器也会关闭
4.查看运行中的容器
docker ps
5.停止运行中的容器
docker stop 容器的id
或者
docker stop 容器的名称,就是--name给起的哪个名字
6.查看所有的容器
docker ps -a
7.启动容器
docker start 容器id/名字
8.删除一个容器
docker rm 容器id/名字
9.启动一个做了端口映射的tomcat
docker run -d -p 8888:8080 tomcat
-d
:后台运行-p
: 将主机的端口映射到容器的一个端口 主机端口(8888):容器内部的端口(8080)
外界通过主机的8888端口就可以访问到tomcat,前提是8888端口开放
10.关闭防火墙
# 查看防火墙状态
service firewalld status
# 关闭防火墙
service firewalld stop
11.查看容器的日志
docker logs 容器id/名字
在服务器中练习启动mysql
1.拉取镜像
docker pull mysql:5.7.28
2.运行mysql容器
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.28
--name mysql
:容器的名字是mysql;
MYSQL_ROOT_PASSWORD=root:root
用户的密码是root (必须指定)
3.连接容器内mysql
在使用 -d
参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
docker attach
docker exec
:推荐使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
docker exec -it mysql bash
-i
: 交互式操作。
-t
: 终端。
mysql
: 名为mysql的 镜像。
bash
:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash,也可以用/bin/bash。
连接上以后就可以正常使用mysql命令操作了
mysql -uroot -proot
直接使用端口映射更加方便
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.28