【Docker学习】2.命令备忘


1 入门

1.1 在后台创建和运行容器

$ docker run -d -p 80:80 docker/getting-started

参数说明:

  • -d:在分离模式下运行容器
  • -p 80:80 - 将端口 80 映射到容器中的端口 80
  • docker/getting-started - 要使用的镜像

1.2 在前台创建并运行容器

$ docker run -it -p 8001:8080 --name my-nginx nginx

参数说明:

  • -it - 交互式 bash 模式
  • -p 8001:8080 - 将端口 8001 映射到容器中的端口 8080
  • –name my-nginx - 指定名称
  • nginx - 要使用的镜像

2 一般命令

命令描述
docker ps列出正在运行的容器
docker ps -a列出所有容器
docker ps -s列出正在运行的容器(带 CPU/内存)
docker images列出所有镜像
docker exec -itbash连接到容器
docker logs显示容器的控制台日志
docker stop停止一个容器
docker restart重启一个容器
docker rm移除一个容器
docker port显示容器的端口映射
docker top列出进程
docker kill杀死一个容器

ps: 参数可以是容器 ID 或名称.

以下命令,与Docker 容器相关。

3 Docker容器

3.1 启动和停止

命令描述
docker start nginx-server开始
docker stop nginx-server停止
docker restart nginx-server重启
docker pause nginx-server暂停
docker unpause nginx-server取消暂停
docker wait nginx-server阻塞容器
docker kill nginx-server发送 SIGKILL
docker attach nginx-server连接到现有容器

3.2 信息

命令描述
docker ps列出正在运行的容器
docker ps -a列出所有容器
docker logs nginx-server容器日志
docker inspect nginx-server检查容器
docker events nginx-server容器事件
docker port nginx-server公共端口
docker top nginx-server运行进程
docker stats nginx-server容器资源使用
docker diff nginx-server列出对容器所做的更改。

3.3 创建


docker create [options] IMAGE
    -a, --attach               # attach stdout/err
    -i, --interactive          # attach stdin (interactive)
    -t, --tty                  # pseudo-tty
        --name NAME            # name your image
    -p, --publish 5000:5000    # port map (host:container)
        --expose 5432          # expose a port to containers
    -P, --publish-all          # publish all ports
        --link container:alias # linking
    -v, --volume `pwd`:/app    # mount (absolute paths needed)
    -e, --env NAME=hello       # env vars

举例:

$ docker create --name my_redis --expose 6379 redis:3.0.2

3.4 操作

3.4.1 重命名容器

docker rename my-nginx nginx-server

3.4.2 移除容器

docker rm nginx-server

3.4.3 更新容器

docker update --cpu-shares 512 -m 300M nginx-server

4 Docker 镜像

4.1 操作

命令描述
docker images列出镜像
docker rmi nginx删除镜像
docker load < ubuntu.tar.gz加载 tarred 存储库
docker load –input ubuntu.tar加载 tarred 存储库
docker save busybox > ubuntu.tar将镜像保存到 tar 存档
docker history显示镜像的历史
docker commit nginx将容器另存为镜像
docker tag nginx eon01/nginx标记镜像
docker push eon01/nginx推送图片

4.2 构建镜像

$ docker build .
$ docker build github.com/creack/docker-firefox
$ docker build - < Dockerfile
$ docker build - < context.tar.gz
$ docker build -t eon/nginx-server .
$ docker build -f myOtherDockerfile .
$ curl example.com/remote/Dockerfile | docker build -f - .

5 Docker 网络

5.1 操作

5.1.1 删除网络

docker network rm MyOverlayNetwork

5.1.2 列出网络

docker network ls

5.1.3 获取有关网络的信息

docker network inspect MyOverlayNetwork

5.1.4 将正在运行的容器连接到网络

docker network connect MyOverlayNetwork nginx

5.1.5 启动时将容器连接到网络

docker run -it -d --network=MyOverlayNetwork nginx

5.1.6 断开容器与网络的连接

docker network disconnect MyOverlayNetwork nginx

5.1.7 创建网络

docker network create -d overlay MyOverlayNetwork

docker network create -d bridge MyBridgeNetwork

docker network create -d overlay \
--subnet=192.168.0.0/16 \
--subnet=192.170.0.0/16 \
--gateway=192.168.0.100 \
--gateway=192.170.0.100 \
--ip-range=192.168.1.0/24 \
--aux-address="my-router=192.168.1.5" \
--aux-address="my-switch=192.168.1.6" \
--aux-address="my-printer=192.170.1.5" \
--aux-address="my-nas=192.170.1.6" \
MyOverlayNetwork

6 其他

6.1 Docker Hub

Docker语法描述
docker search search_word在 docker hub 中搜索镜像。
docker pull user/image从 docker hub 下载镜像。
docker login向 docker hub 进行身份验证
docker push user/image将镜像上传到 docker hub。

6.2 注册表命令

6.2.1 登录注册表

$ docker login
$ docker login localhost:8080

6.2.2 从注册表注销

$ docker logout
$ docker logout localhost:8080

6.2.3 搜索镜像

$ docker search nginx
$ docker search nginx --stars=3 --no-trunc busybox

6.2.4 拉取镜像

$ docker pull nginx
$ docker pull eon01/nginx localhost:5000/myadmin/nginx

6.2.5 推送镜像

$ docker push eon01/nginx
$ docker push eon01/nginx localhost:5000/myadmin/nginx

6.3 批量清理

命令描述
docker stop -f $(docker ps -a -q)停止所有容器
docker rm -f $(docker ps -a -q)删除所有容器
docker rmi -f $(docker images -q)删除所有镜像

6.4 容量

6.4.1 检查容量

$ docker volume ls

6.4.2 清理未使用的容量

$ docker volume prune

7 参考


文章作者: Kezade
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Kezade !
评论
  目录