docker-命令

启动docker:systemctl docker start;

查看版本:docker  version

docker pull 镜像名<:tags>  从远程仓库抽取镜像,可以选择版本tags,如果不选tag就自动拉去最新的镜像

docker  images 看出本地镜像

docker run 镜像名<:tags> 创建容器,启动应用

docker ps -a 查看正在运行中的镜像,-a查看所有

docker rm <-f> 容器id; 删除容器,如果加-f  意思是不管容器是否运行,都强制删除

docker rmi <-f>  镜像名<:tags> 删除镜像

docker pull hello-world  拉去hello-world 镜像

docker run -p 8000:8080 tomcat ;    -p宿主和容器端口映射,:前面是宿主后面是容器端口,内部是通过docker-proxy来完成的

docker run -p 8000:8080  -d tomcat;   -d代表后台运行

docker stop 容器id   停止容器,再删除  docker  rm 容器编号

docker rm -f 容器编号 :强制移除

生产上不建议强制删除

docker exec -it 容器id   /bin/bash

it:代表交互方式执行命令

exit :退出到宿主机

容器内部其实都内置了一个linux系统,只是非常小

docker pause/unpause

docker created 

doker kill

docker  build -t 机构名/镜像名:版本  绝对路径或者当前目录

docker build -t mashibin.com/mywebapp:v0.1 .    构建镜像

每个容器每次创建都会被分配一个内部IP地址

docker run -d --name web tomcat  ;  --name很重要,给容器命别名,生产上不建议用ip做连接,万一后面Ip改了,很麻烦,所以用别名比较好

docker run -d --name database -it  cenos /bin/bash

docker inspect  查看容器原数据,比如ip等

容器单向通信

docker run -d --name web --link database tomcat  这样就实现了web到database的单向通信,这样web就能Ping通database容器的ip了

容器双向通信要借用bridge 网桥(可以用link,但是太麻烦)

docker network ls

可以自己创建网桥  docker network created -d bridge  my-bridge 

容器连接到网桥  docker network connnect  my-bridge 容器名称

volume容器间数据共享

1、通过-v挂载参数宿主目录

docker -run --name 容器名 -v 宿主路径:容器内挂载路径 镜像名

2.通过--volumes-from 共享容器内挂载点

1>创建共享容器  docker create --name webpage -v /webapps:/tomcat/webapps tomcat /bin/true   ( /bin/true没任何含义,相当于占位符)

2>共享挂载点:docker run  -d -p 8000:8080 --name t3 --volumes-from webpage 容器名

原文地址:https://www.cnblogs.com/lhh-boke/p/13909932.html