Docker 常用资源

Docker 常用命令

Image 操作

基本操作

docker images
docker search image_name
docker pull image_name
docker rmi image_name
docker history image_name
docker push new_image_name

制作镜像

docker build -t image_name DockerfilePath

迁移镜像

docker save image_name -o file.tar
docker load -i file.tar

Container 操作

显示相关

docker ps

# 一行显示全部容器
docker ps | less -S

# 最近一次启动
docker ps -l

# 列出所有容器
docker ps -a
docker top cid
docker inspect cid
docker logs cid

# 实时查看日志输出
docker logs -f cid
docker diff cid
docker logs cid 2>&1 | grep '^User: ' | tail -n1

运行相关

docker run -i -t ubuntu /bin/bash

# 运行一个hello word然后就自动关闭
docker run image_name echo "hello word"

# 命名并启动容器
docker run --name test ubuntu

# 后台运行一个容器
docker run -d -it ubuntu

# 映射端口
docker run -p 8080:8080 ubuntu

# 挂载volumn
docker run -v ./test:/var/www

# container 内 root 拥有真正root权限
docker run --privileged=false 
docker attach cid
# -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
# -i 则让容器的标准输入保持打开
docker exec -it 839a6cfc9496 /bin/bash
docker run ubuntu apt-get update
docker cp cid:/container_path to_path  

修改容器

image相当于类,container相当于实例,不过可以动态给实例安装新软件,然后把这个container用commit命令固化成一个image

docker commit cid new_image_name
docker rm cid

# 强制删除
docker rm -f cid

# 删除所有容器
docker rm `docker ps -a -q`
docker start/stop/kill/restart cid
docker rename old  new

链接容器

sonar容器连接到mysql容器,并将mysql容器重命名为db。这样,sonar容器就可以使用db的相关的环境变量了。

docker run -it --name sonar -d -link mysql:db   tpires/sonar-server

仓库操作

docker login
Table of Contents