尤益达

一个运维狗的成长过程!

Docker常用命令

查看

# 查看信息

docker info


# 查看运行中的进程

docker ps


# 查看全部

docker ps -a

docker ps -all


# 显示最后运行

docker ps -l

日志

# docker日志查询

docker logs 2f2de065fd05

停止与删除

# 杀死所有正在运行的容器

docker kill $(docker ps -a -q)


# 删除所有已经停止的容器

docker rm $(docker ps -a -q)


# 删除所有未打 dangling 标签的镜像

docker rmi $(docker images -q -f dangling=true)


# 删除所有镜像

docker rmi $(docker images -q)

为这些命令创建别名

# 杀死所有正在运行的容器.

alias dockerkill='docker kill $(docker ps -a -q)'

# 删除所有已经停止的容器.

alias dockercleanc='docker rm $(docker ps -a -q)'

# 删除所有未打标签的镜像.

alias dockercleani='docker rmi $(docker images -q -f dangling=true)'

# 删除所有已经停止的容器和未打标签的镜像.

alias dockerclean='dockercleanc || true && dockercleani'

另附上docker常用命令

docker version #查看版本

docker search tutorial#搜索可用docker镜像

docker pull learn/tutorial #下载镜像

docker run learn/tutorial echo "hello word"#在docker容器中运行hello world!

docker run learn/tutorial apt-get install -y ping#在容器中安装新的程序

运行

# 运行docker镜像

docker run -i -t -v /root/software/:/mnt/software/ --privileged=true index.alauda.cn/alauda/ubuntu /bin/bash


# 运行一个jenkins镜像的例子命令

    sudo docker run \

        -d -p 8088:8080 -p 50000:50000 \

        -v /home/docker/jenkins_home/:/var/jenkins_home \

        -v /var/run/docker.sock:/var/run/docker.sock \

        -v $(which docker):/usr/bin/docker \

        -v $(which git):/usr/bin/git \

        -v ~/.ssh:/var/jenkins_home/.ssh \

        --name=jenkins jenkinsci/jenkins

镜像

# 查看docker镜像

docker images


# 删除镜像

docker images rmi


# 构建一个镜像

docker build -t holiday /usr/local/docker/holiday #Re-build docker container


# 打包提交拉取

docker tag kafka-monitor:0.2 10.0.23.11:5000/kafka-monitor:0.2

docker push xxx.xxx.xxx.xxx:5000/kafka-monitor:0.1

docker pull xxx.xxx.xxx.xxx:5000/kafka-monitor:0.1


# 停止所有容器

docker ps |grep holiday |awk '{print $1}' |xargs -i docker stop {}


# 提交一个镜像

docker commit 1a442630f4a9 test/javaweb:0.0

一个完整的运行步骤

# 第一次运行

sudo docker run --name myjenkins -p 8088:8080 -p 50000:50000 -d docker.io/jenkinsci/jenkins


# 停止

docker stop  myjenkins


# 启动(是没有问题的)

docker start myjenkins


# 重新commit一个新的

docker ps -a 获取到ff2d09d0ddd8


# 提交一个成为新镜像

docker commit ff2d09d0ddd8 test/jenkins:0.2

查看docker运行容器的ip

# 第一次运行

sudo docker run --name myjenkins -p 8088:8080 -p 50000:50000 -d docker.io/jenkinsci/jenkins


# 1. 进入容器内部后

cat /etc/hosts

会显示自己以及(– link)软连接的容器IP


# 2.使用命令

docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID> 

或 

docker inspect <container id> 

或 

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id


# 3. 可以考虑在 ~/.bashrc 中写一个 bash 函数:

    function docker_ip() {

        sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' $1

    }


    source ~/.bashrc 然后:


    $ docker_ip <container-ID>

    172.11.0.6


# 4.要获取所有容器名称及其IP地址只需一个命令。

docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

如果使用docker-compose命令将是:

docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)


# 5.显示所有容器IP地址:

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)


发表评论:

«   2020年10月   »
1234
567891011
12131415161718
19202122232425
262728293031
搜索
控制面板
您好,欢迎到访网站!
  查看权限
标签列表
站点信息
  • 文章总数:69
  • 页面总数:1
  • 分类总数:6
  • 标签总数:22
  • 评论总数:0
  • 浏览总数:10807
最新留言
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.5.2 Zero

    Copyright cjava.net All Rights Reserved.  苏ICP备18017901号