docker start percona 启动
docker ps -a
docker images 查看镜像
docker create 创建一个容器但不使用:
docker create --name percona -v /data/mysql-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:latest
create后start
docker run:
docker 删除镜像先删除 container :
这里有两个不同的单词,images和container。其中images很好理解,跟平常使用的虚拟机的镜像一个意思,相当于一个模版,而container则是images运行时的的状态。docker对于运行过的image都保留一个状态(container),可以使用命令docker ps来查看正在运行的container,对于已经退出的container,则可以使用docker ps -a来查看。 如果你退出了一个container而忘记保存其中的数据,你可以使用docker ps -a来找到对应的运行过的container使用docker commit命令将其保存为image然后运行。
首先stop正在运行的 container
docker rm containeriD
docker rmi imageid
如果一个镜像存在多个标签 则会删除失败 如下入:
docker rmi -f imageId (强制删除)
docker端口映射:
从外部访问容器应用
在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的。
当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-p或-P参数来指定端口映射。当使用-P(大写P)标记时,Docker会随机映射一个端口到内部容器开放的网络端口(端口范围在Linux系统使用的端口之外,一般都过万):
为什么要端口映射 ?
在启动容器时,如果不配置宿主机与虚拟机端口映射,外部程序是无法访问虚拟机的,因为没有端口
端口映射指令:
docker run -p ip:hostPort(宿主机端口):containerPort(虚拟机端口) xxxx
使用 -p参数 回分配宿主机的端口映射到虚拟映射
eg: docker启动mq
docker run -d --hostname localhost --name rabbit-management --restart=always -p 15672:15672 -p 5672:5672 rabbitmq:3-management