Docker命令

启动服务:service docker star ; 重启:service docker restart

启动docker:systemctl start docker
查看是否启动成功:systemctl status docker

设置Docker开机自启:systemctl enable docker
禁用Docker开机自启:systemctl disable docker
重新启动Docker服务: systemctl restart docker
查看Docker信息:docker info

查看docker info中具体key的信息,例如:
docker info | grep ‘Docker Root Dir:’

停止docker服务:systemctl stop docker

查看已启动进程:docker ps
查看所有进程:docker ps -a
查看已下载的镜像:docker images

退出容器:
docker-centos里面:exit :容器停止退出
ctrl+p+q :容器不停止退出 重新进入没停止的容器:docker attach 容器ID
启动容器:docker start 容器ID(或对应的"NAMES")【启动关闭掉的容器,然后再attache/exec进入容器 】

停止:docker stop 容器ID/名 强制停止: docker kill ……
删除已停止的容器:docker rm 容器ID/名【没停止的docker rm -f 容器名/id】
容器删除用rm,本地镜像删除用rmi

docker rm 容器ID/名 删除已停止的容器;【没停止的docker rm -f 容器名/id】
容器删除用rm,本地镜像删除用rmi
一次停止多个容器 docker stop …空格… (…:容器id/name)
列出本机正在运行的容器:docker container ls
列出本机所有容器,包括终止运行的容器
docker container ls --all

docker进入mysql命令:docker exec -it mysql容器名 bash
mysql登录:mysql -hlocalhost -uroot -p -P 【-h数据库主机地址-u用户-p密码-P端口号(大写P)】:
例:mysql -h127.0.0.1 -uroot -p123456 -P3306
退出mysql容器:exit命令或快捷键Ctrl+D

设置容器开机启动:docker update --restart=always 容器名
设置为开机不启动:docker update --restart=no 容器名

查看容器日志:docker logs -f -t --tail 容器ID
-t 是加入时间;-f 跟随最新的日志打印;-tail 数字 显示最后多少条
查看容器内运行的进程:docker top 容器ID
查看容器内部细节:docker inspect 容器ID
【另一种方式查看:docker logs IMAGE,例:docker logs rabbitmq】

从容器内拷贝文件到主机上
docker cp 容器ID:/路径/文件名 主机目录
eg: //将容器id为4db8edd86202的容器内elasticsearch.yml文件拷贝到宿主机指定目录下:
docker cp 4db8edd86202:/usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch.yml
从主机拷贝文件到容器内,反之:
docker cp /路径/文件名 容器ID:/路径

查看当前镜像所有的版本shell命令:
curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags
| tr -d ‘[[]" ]’ | tr ‘}’ ‘\n’
| awk -F: -v image=‘foxiswho/rocketmq’ ‘{if(NR!=NF && $3 != “”){printf(“%s:%s\n”,image,$3)}}’
说明:如果查看其他软件则将蓝色部分替换为需要查看软件的名称

docker下查看nacos日志: docker logs nacos-server(nacos容器名(NAMES))【查看到时的日志】
跟踪日志: docker logs -f zookeeper 或:docker logs -f --tail 500 nacos
登录nacos 浏览器访问 http://ip:port/nacos

查看在各容器在网桥中使用的ip地址
docker network inspect bridge

创建自定义网络
docker network create --subnet=172.0.0.0/16 mysql_network
查看已存在网络:docker network ls
网桥删除:docker network rm mysql_network

安装后的配置文件:/etc/sysconfig/docker


问题:

[shen@localhost ~]$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get “http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json”: dial unix /var/run/docker.sock: connect: permission denied

原因分析:这是因为你当前的用户没有这个权限。默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。即我们当前的用户不是root用户。

解决办法:把我们当前的用户添加到docker组中就可以了,执行下面两步就可以了:

第一步:sudo gpasswd -a username docker #将普通用户username加入到docker组中,username这个字段也可以直接换成$USER。

第二步:newgrp docker #更新docker组

你可能感兴趣的:(#,docker,docker,linux,运维)