Centos安装docker
获取新镜像:
docker pull ubuntu #获取ubuntu
运行镜像:
docker run -i -t -p 80:80 ubuntu /bin/bash #-p为端口映射,80映射到80。
查看所有镜像:
杀死所有running状态的容器:
docker kill $(docker ps -q)
删除所有已经停止的容器:
docker rm $(docker ps -a -q)
删除所有镜像:
docker rmi $(docker images -q)
删除镜像:
docker rmi id #请务必先删除停止的容器才能删除镜像d
使用docker attach命令进入后台docker:
<del> docker attach name 或者 docker attach id #需要先docker ps查看后台运行的docker的id或者名字</del>
使用docker exec命令:
这个命令使用exit命令后,不会退出后台,一般使用这个命令,使用方法如下
docker exec -it db3 /bin/sh 或者 docker exec -it d48b21a7e439 /bin/sh #两种方法都需要获取仅限的别名或者仅限的运行名字
提交修改过的镜像:
先让镜像-d后台运行,然后docker ps查看id或者name,再使用docker exec -it id来进入修改,修改后使用exit依然后台运行,
之后使用docker commit name name:version 来保存文件
常用命令
- docker images 列出所有镜像
- docker ps 查看正在运行的容器
- docker ps -a 查看所有容器,包括不在运行的
- docker rmi [image_name] 删除镜像,如果有已经存在的该镜像的容器,则无法删除
- docker rm [container_name] 删除容器,如果正在运行则无法删除,如果要删除正在运行的容器,则需要加-f选项
- docker [cmd] --help可以查看对应命令的帮助信息
启动容器
docker run -d -p 80:80 --name webserver nginx
容器各选项含义如下:
-d选项:设置detach为true,根据官方的文档,意思是让这个命令在后台运行--name指定一个容器的自定义名称为webserver-p 指定宿主主机端口与容器端口之间的映射,即宿主主机的80端口映射到容器的端口80上,也可以用-P自动指定端口。
在容器中运行命令
docker exec -it webserver bash #以交互式终端方式进入 webserver 容器,并执行bash命令,获得一个可操作的 Shell。
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
外部访问容器实现
容器允许外部访问,可以在 docker run 时候通过 -p 或 -P 参数来启用。