去发现生活中的美好,记录生活中的点点滴滴

docker常用命令汇总

docker admin 1502℃

概念:

镜像image :镜像是只读的
容器container :启动容器的时候是在只读层上加了一层可写层
仓库repository :集中存放镜像

查看内核版本,必须是3.10以上:

uname -r

升级yum:

yum update

卸载:

yum remove docker
如果不能彻底清除,尝试下面命令:
yum remove docker \
           docker-client \
           docker-client-latest \
           docker-common \
           docker-latest \
           docker-latest-logrotate \
           docker-logrotate \
           docker-engine

安装驱动依赖:

yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

查看有哪些版本:

yum list docker-ce --showduplicates|sort -r

安装docker:

yum install docker
安装指定版本:yum install docker-ce-18.06.3.ce

启动docker服务:

systemctl start docker

开机启动:

systemctl enable docker

查看版本:

docker version
docker -v

查看docker信息:

docker info

停止docker服务:

systemctl stop docker

重启docker服务:

service docker restart

实例化镜像为容器并映射端口:

docker run 镜像id 或镜像名
 docker run -d -p 8080:80 docker.io/centos:latest
docker run --name ganym -p 8080:8090 -d -it docker.io/ganym:dev /bin/bash

docker run -d --name ganym_www --user=root --privileged=true -p 5002:80 -v /home/www/ganym/multilotto-www:/var/www/html -v /home/www/ganym/nginx/conf:/etc/nginx/sites-enabled  ganyongmeng/docker_nginx_php:v1.0

如果想实例化容器后,执行指定脚本,可以在镜像容器里新增一个sh文件,

vi /usr/bin/boot.sh #写入启动等相关脚本

实例化容器的时候,加入脚本:

docker run -it -d --name nginx-test.com --user=root --privileged=true -p 8003:80 -v /home/www/html/passport.boss.com:/home/www/html/test.com  ganyongmeng/new_centos7_nginx_php56 /bin/bash  boot.sh

———————————–华丽分割线——————————————————-

镜像

搜索镜像:

docker  search  关键字

拉取镜像:

docker pull 镜像名:tag                        
:tag是可选的,tag表示标签,多为软件的版本,默认是latest 

拉取远程镜像:

docker pull www.xxx.com:5000/mongo:latest

 

保存容器到镜像:

docker commit 容器id(or 容器名称)  新镜像名(容器保存为镜像)
docker commit 1bceee6f6c92 docker.io/ganym:dev

 

给镜像打tag标签:

docker tag 镜像id(或镜像名):tag  镜像id(或镜像名):新tag

推送镜像到远程:

docker login --username=XXX  
docker push www.xxx.com:5000/mongo:latest

查看本地镜像:

docker images
docker images -a

查看完整imagesID:

docker images  --no-trunc

删除镜像:

docker rmi 镜像ID

删除全部镜像:

docker rmi $(docker images -q)

清理镜像:

docker system prune

删除所有未被容器使用的镜像:

docker image prune -a

该命令删除的是:

WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache

已停止的容器(container)
未被任何容器所使用的卷(volume)
未被任何容器所关联的网络(network)
所有悬空镜像(image)
所有悬空生成缓存(cache)

注意:
该指令默认只会清除悬空镜像,未被使用的镜像不会被删除。
添加 -a 或 –all 参数后,可以一并清除所有未使用的镜像和悬空镜像。
可以添加 -f 或 –force 参数用以忽略相关告警确认信息。
指令结尾处会显示总计清理释放的空间大小。

查看docker占用情况:

docker system df
docker system df -v

删除所有停止运行的容器:

docker container prune

删除所有未被挂载的卷:

docker volume prune

删除所有网络:

docker network prune

删除 docker 所有资源:

docker system prune

注意,如果docker 镜像、容器删掉后,没有释放内存,可以尝试重启docker.

容器

容器启动、停止、重启命令:

docker start 容器ID或name
docker stop 容器ID或name
docker restart 容器ID或name

查看当前运行容器:

docker ps
docker ps -n 5

查看所有容器:

docker ps -a

查看容器占用情况:

docker ps -s

删除容器:

docker rm 容器ID

退出容器终端:

exit

进入容器终端:

docker exec -it 容器ID(或者容器名称) /bin/bash

或者
docker attach 容器ID(或者容器名称)

在容器外执行容器内命令:

 docker exec -it 容器ID  /bin/bash   -c "/var/www/html && php index.php"

查看容器日志:

docker logs container-name/container-id

添加内核参数
如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

请添加内核配置参数以启用这些功能。

$ sudo tee -a /etc/sysctl.conf <

导出镜像:

docker save -o /home/www/images_blog.tar blog_image

导入下载好的容器镜像文件:

docker load < image_xxx.tar

进入容器内部:

docker exec -it 1bceee6f6c92(容器名称或者容器ID) /bin/sh(docker inspect 里面的Path)

查看镜像或容器元数据:

docker inspect  镜像id或容器id(名)

 
一键启动所有容器:

docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

一键重启所有容器:

docker restart $(docker ps -a -q)

关闭所有容器:

docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

删除所有容器(慎用):

docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker build 命令用于使用 Dockerfile 创建镜像

使用当前目录的 Dockerfile 创建镜像:

docker build -t rancher/server:v1 . 

使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像:

docker build github.com/creack/docker-firefox

通过 -f Dockerfile 文件的位置,创建镜像:

docker build -f /path/Dockerfile .

如果某些用户执行docker命令报错:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/json: dial unix /var/run/docker.sock: connect: permission denied

可以把该用户加入到docker组中

groupadd docker
gpasswd -a service  docker 

转载请注明:永盟博客 » docker常用命令汇总

喜欢 (7)

Warning: count(): Parameter must be an array or an object that implements Countable in E:\www\blog\wp-includes\class-wp-comment-query.php on line 405