docker 安装以及常用命令

docker安装
ubuntu16+:apt -get install docker
centos7+:yum install docker

centos7 安装   出现运行无权限时,是因为selinux,先运行临时关闭setenforce 0后在执行

或者永久降低权限级别为:

sudo vim /etc/sysconfig/selinux
#修改 SELINUX=enforcing  为SELINUX=permissive,然后重启电脑reboot
#先卸载
yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-selinux 
                  docker-engine-selinux 
                  docker-engine
#安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

#设置stable repository
yum-config-manager 
    --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安装docker
yum install docker-ce

#启动docker
service docker start

#设置开启激动
systemctl enable docker

ubuntu18 安装

apt install apt-transport-https ca-certificates curl software-properties-common
vi /etc/apt/sources.list.d/docker.list
#保存内容: deb http:
//mirrors.ustc.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-proposed main multiverse restricted universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe #deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe #deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe #deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-proposed main multiverse restricted universe #deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe #deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe #保存退出
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl
-fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update
sudo apt-get -y install docker-ce

docker 更换镜像源

vi /etc/docker/daemon.json
#保存如下内容

{
    "registry-mirrors":["https://cna1sovw.mirror.aliyuncs.com","https://registry.docker-cn.com", "http://hub-mirror.c.163.com"]
}

 

下载镜像:docker pull 镜像名字

启动容器

# -p :配置端口映射,格式是外部访问端口:容器内端口
# -d :后台运行
# --name : 给容器取名
# 最后有 2 个cname ,前面一个是给容器取的名字,后面一个是使用的镜像的名字
docker run -p 8099:8090 -d --name cname cname

停止容器

docker stop 容器ID

查看运行的容器

docker ps 

查看所有的容器

docker ps -a 

列出所有处于停止状态的容器列表
docker ps -a -f status=exited

删除容器

docker rm -f

进入容器

docker exec -it  88159454e823  /bin/bash

退出容器

exit

查看镜像

docker images

删除镜像

docker rmi -f image

删除所有操作(批量)

docker rm -f `docker ps -a -q` # 删除所有容器
docker rmi -f `docker images -q` # 删除所有的镜像

删除所有处于停止状态的容器
docker rm $(docker ps -a -f status=exited -q)

从容器创建一个新的镜像。

docker commit 

# docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
根据这个test容器提交镜像
[root@docker-test1 ~]# docker commit -a "wangshibo" -m "this is test" 651a8541a47d test:v1
 
导出镜像
docker save -o 文件名.tar 镜像名:版本号
 
导入镜像
docker load -i nginx.tar
 
列出所有容器的ip
docker inspect -f='{{.Name}} {{.NetworkSettings.IPAddress}} {{.HostConfig.PortBindings}}' $(docker ps -aq)
 
查看容器启动日志
docker logs 容器
 
查看容器详细信息
docker inspect xxx