tags: [docker,linux]
categories: docker
date: 2021-05-05 19:55
updated: 2021-05-05 19:55


1、安装前置条件

docker要求Linux内核要3.0以上版本,如果centos6.x 内核是2.x,需要升级linux内核

2、安装步骤

1)升级本地yum包

yum update

### 2) 安装工具集 ```javascript yum install -y yum-utils device-mapper-persistent-data lvm2 ```
### 3)安装阿里云docker源 ```javascript sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ```
### 4)更新yum缓存 ```javascript yum makecache fast yum clean all ```
### 5)安装docker ```javascript yum -y install docker-ce ```
### 6)启动docker服务 ```javascript service docker start ```
### 7)查看docker版本 ```javascript docker -v ```
### 8)开机启动docker服务 ```javascript systemctl enable docker.service ```

3.docker 设置镜像(未设置镜像)

docker pull很慢解决办法,经常拉取镜像的时候很慢或者拉不下来,这里可以使用阿里云镜像加速器,然后试试看有没有效果

##使用阿里云镜像加速器
[root@localhost ~]# mkdir -p /etc/docker

[root@localhost ~]# tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]
}
EOF

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker

4.docker服务启动,重启,关闭命令

1>docker官网地址  https://www.docker.com/

2>docker命令
  启动:systemctl start docker
	重启:sudo service docker restart
  守护进程重启 sudo systemctl daemon-reload
  关闭 docker service docker stop
  关闭 docker systemctl stop docker

5.Docker 退出容器但不关闭当前容器


方法一:如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器


方法二:如果使用exit退出,那么在退出之后会关闭容器,可以使用下面的流程进行恢复

  • 使用docker restart命令重启容器
  • 使用docker attach命令进入容器

重启httpd(service httpd restart)和radosgw(/etc/init.d/ceph-radosgw restart),并且使用wget验证是否将radosgw重启成功(wget http://127.0.0.1)


6.Docker删除镜像

Docker:删除images报错(Error response from daemon: conflict: unable to delete 6885a5e3712a (must be forced) - image is being used by stopped container 0cf27d7d29c7)
1.进入root权限
sudo su
 
2.停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
 
如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
 
3.查看当前有些什么images
docker images
 
4.删除images,通过image的id来指定删除谁
docker rmi
 
想要删除untagged images,也就是那些id为的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk '{print $3}')
 
要删除全部image的话
docker rmi $(docker images -q)


1、删除容器实例

docker rm 容器ID或容器名

  1. 先 docker ps -a 寻找已经停止运行的实例
    2.docker rm 59ec 删除实例
    3.docker ps -a 查看实例已经删除
    具体操作如下图

    如果容器实例在运行状态下 是不能通过上面的命令删除的,会提示容器实例正在运行中。需要先停止在删除,不会停止实例的看这里https://blog.csdn.net/Michel4Liu/article/details/80889977,也可以通过参数强制删除
    参数:
    -f : 通过SIGKILL信号强制删除一个运行中的容器,主要删除正在运行的容器实例
    -l : 移除容器间的网络连接,而非容器本身
    -v : 删除容器挂载卷


2、删除镜像

docker rmi 容器ID或容器名

  1. 首先 docker images 查看所有镜像
  2. 然后 docker rmi fe200 删除镜像
    3.再次通过 docker images 查看镜像 发现已经删除
    具体操作如下图

    如果删除的镜像已经产生了容器实例(run过)不容器实例是否启动都会提示无法删除,因为被占用。这时需要先删除容器实例或添加删除参数
    参数
    -f :强制删除,一般用于被占用的删除
    –no-prune :不移除该镜像的过程镜像,默认移除

Q.E.D.