Docker基础命令
下面简单介绍一下Docker常用的一些基础命令
在ubuntu中安装docker
$ sudo apt-get install docker.io
查Docker信息
sudo docker info
sudo docker logs -f +名字
容器操作基础命令 (sudo docker run +)
-p 80(本地端口):80(容器进程占用端口)
绑到特定的网络接口
-p +主机IP :80:80
-p +主机IP ::80 绑定在随机端口
-v $pwd(挂载的本地文件路径) :www/html(容器的文件路径)
-i -t ubuntu:15.10 /bin/bash 加载一个带有交互式shell的镜像到容器
-d tomcat 加载一个守护进程
-namd XX 给容器赋予名字
dokcer start+名字
docker stop+名字
docker kill +名字
docker rm +名字 (删除容器)
docker top+名字(查看容器内进程)
查看docker详细信息
sudo docker inspect +名字
sudo docker inspect --format '{{.State.Running}}' 名字
sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' 名字
在容器内运行进程
sudo docker exec -i -t “容器ID” bash(前台方式)
sudo docker exec -d tomcat touch /www/index.php(后台方式-守护进程较多)
自动重启容器
sudo docker run --restart=always/on-failure:5
看容器端口在本地映射情况
sudo docker port ID 80(容器进程自己的端口)
查看本机Docker中存在哪些镜像
$ docker images
检索image
$ docker search ubuntu:14.04
在docker中获取ubuntu镜像
$ docker pull ubuntu:14.04
显示一个镜像的历史
$ docker history birdben/ubuntu:v1
列出一个容器里面被改变的文件或者目
$ docker diff birdben/ubuntu:v1
从一个容器中取日志
$ docker logs birdben/ubuntu:v1
显示一个运行的容器里面的进程信息
$ docker top birdben/ubuntu:v1
从容器里面拷贝文件/目录到本地一个路径
$ docker cp ID:/container_path to_path
列出当前所有正在运行的容器
$ docker ps
列出所有的容器
$ docker ps -a
列出最近一次启动的容器
$ docker ps -l
查看容器的相关信息
$ docker inspect $CONTAINER_ID
显示容器IP地址和端口号,如果输出是空的说明没有配置IP地址(不同的Docker容器可以通过此IP地址互相访问)
$ docker inspect --format='{{.NetworkSettings.IPAddress}}' $CONTAINER_ID
保存对容器的修改
$ docker commit -m "Added ssh from ubuntu14.04" -a "birdben" 6s56d43f627f3 birdben/ubuntu:v1
参数:
-m参数用来来指定提交的说明信息;
-a可以指定用户信息的;
6s56d43f627f3代表的时容器的id;
birdben/ubuntu:v1指定目标镜像的用户名、仓库名和 tag 信息。
构建一个容器
$ docker build -t="birdben/ubuntu:v1" .
参数:
-t为构建的镜像制定一个标签,便于记忆/索引等
. 指定Dockerfile文件在当前目录下,也可以替换为一个具体的 Dockerfile 的路径。
在docker中运行ubuntu镜像
$ docker run <相关参数> <镜像 ID> <初始命令>
守护模式启动
$ docker run -it ubuntu:14.04
交互模式启动
$ docker run -it ubuntu:14.04 /bin/bash
指定端口号启动
$ docker run -p 80:80 birdben/ubuntu:v1
指定配置启动
$ sudo docker run -d -p 10.211.55.4:9999:22 birdben/ubuntu:v1 '/usr/sbin/sshd' -D
参数:
-d:表示以“守护模式”执行,日志不会出现在输出终端上。
-i:表示以“交互模式”运行容器,-i 则让容器的标准输入保持打开
-t:表示容器启动后会进入其命令行,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>,-v 标记来创建一个数据卷并挂载到容器里。在一次 run 中多次使用可以挂载多个数据卷。
-p:表示宿主机与容器的端口映射,此时将容器内部的 22 端口映射为宿主机的 9999 端口,这样就向外界暴露了 9999 端口,可通过 Docker 网桥来访问容器内部的 22 端口了。
注意:这里使用的是宿主机的 IP 地址:10.211.55.4,与对外暴露的端口号 9999,它映射容器内部的端口号 22。ssh外部需要访问:ssh root@10.211.55.4 -p 9999
不一定要使用“镜像 ID”,也可以使用“仓库名:标签名”
start 启动容器
$ docker start 117843ade696117843ade696
stop 停止正在运行的容器
$ docker stop 117843ade696117843ade696
restart 重启容器
$ docker restart 117843ade696117843ade696
rm 删除容器
$ docker rm 117843ade696117843ade696
rmi 删除镜像
$ docker rmi ed9c93747fe1Deleted
登录Docker Hub中心
$ docker login
发布上传image(push)
$ docker push birdben/ubuntu:v1

1104

被折叠的 条评论
为什么被折叠?



