常见异常:
我在运行docker exec -it 56b90db5253e /bin/bash报错。
出现这个问题,是因为Container容器之前已经启动过了
需要执行docker start 56b90db5253e就可以解决了。
重启docker
命令:systemctl restart docker
关闭docker
命令:systemctl stop docker
查看进程
命令:docker ps -a
关闭docker中mysql容器
命令:docker stop mysqlserver
查看docker日志
命令:docker logs -f --tail 10 a4dac74d48f7
1.启动docker容器
docker run -d -i -t <imageID> /bin/bash
上述命令执行某些命令回报错Failed to get D-Bus connection: Operation not permitted
可使用如下命令启动
docker run -d -i -t <imageID> /usr/sbin/init
这个时候,我们使用docker ps命令,我们就可以知道哪些程序在后台运行。
2.我们要怎么进入到docker容器呢?
(1)使用docker attach命令
我们使用
docker attach db3 或者 docker attach d48b21a7e439
db3是后台容器的NAMES,d48b21a7e439是容器的进程ID CONTAINER ID
然后就进去了这个容器的ssh界面。
但是它有一个缺点,只要这个连接终止,或者使用了exit命令,容器就会退出后台运行
(2)使用docker exec命令
这个命令使用exit命令后,不会退出后台,一般使用这个命令,使用方法如下
docker exec -it db3 /bin/sh 或者 docker exec -it d48b21a7e439 /bin/sh
db3是后台容器的NAMES,d48b21a7e439是容器的进程ID CONTAINER ID
/bin/sh 是固定写法
它也能进入这个容器
3.关闭启动重起
docker stop 容器id
docker start 容器id
docker restart 容器id
查看所有容器,包括关闭的
docker ps -a
4.docker提交新的镜像
docker commit afcaf46e8305(容器id) centos-vim(自定义名)
1.停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
2.查看当前有些什么images
docker images
3.删除images,通过image的id来指定删除谁
docker rmi <image id>
想要删除untagged images,也就是那些id为<None>的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除全部image的话
docker rmi $(docker images -q)
docker启动
systemctl start docker
service docker start
重启docker服务
systemctl restart docker
sudo service docker restart
关闭docker
systemctl stop docker
service docker stop
Docker images 查看镜像 -a列出所有 -q显示id
Docker search -s 30(超过三十点赞的列举) *** 搜索镜像
Docker pull ***:TAG(版本号) 下载镜像
Docker rmi -f(强制删除) ***:TAG 删除镜像
Docker rmi -f $(docker images -qa) 删除全部
Docker run -it 镜像id
Docker exec -it 容器id bash
开启远程访问权限
use mysql;
select host,user from user;
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
flush privileges;