docker安装

# 安装前最好将系统升级一下
yum update

# centos 安装
yum install docker

# ubuntu 安装
apt-get update
apt-get install docker

# 启动
systemctl start docker
# 加入开机启动
systemctl enable docker

# 检查是否启动
docker version

# 测试一下
docker run hello-world

docker compose安装

# 第一步 下载二进制文件到/usr/local/bin/位置
curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# 下载慢就用这个
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.11.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# 第二步 赋予可执行权限
chmod +x /usr/local/bin/docker-compose

# 查看版本号
docker-compose version

docker常用命令

#删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
sudo docker rm $(sudo docker ps -a -q)

#所有容器
docker ps -a
#正在运行的容器
docker ps

# 查看日志
docker logx 容器ID

docker images
查看本地镜像

docker run -p 8080:80 -d daocloud.io/nginx
运行daocloud.io/nginx镜像
-p 端口映射,将nginx的80端口映射到本地的8080端口
-d 使用守护进程启动

docker ps
查看当前正在运行的容器

docker stop 容器ID
停止指定容器

docker commit -m "fun" 容器ID nginx-fun
保存容器为镜像,镜像名为nginx-fun

docker rmi 镜像ID
删除指定镜像

docker ps -a
查看所有容器(正在运行和停止运行)

docker rm 容器ID
删除指定容器

docker pull
获取镜像

docker build
创建镜像

docker images
列出镜像

docker run
运行镜像为容器

docker ps
列出正在运行的容器

docker rm
删除容器

docker rmi
删除镜像

docker cp
在主机和容器之间拷贝文件

docker commit
保存改动后的容器为新的image
docker run ubuntu echo hello docker
使用ubuntu镜像,在里面运行了echo hello docker这个命令,输出就是hello docker
 
docker run nginx

docker cp index.html 容器ID:容器内部文件路径
docker cp index.html 17asdasdasa://usr/share/nginx/html
将index.html文件拷贝到容器ID为17asdasdasa容器内部,路径为//usr/share/nginx/html

# 运行: docker run -it --rm ubuntu:18.04 bash 
-it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。
我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。    
 --rm:这个参数是说容器退出后随之将其删除。
默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。
我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。    
 ubuntu:18.04:这是指用 ubuntu:18.04 镜像为基础来启动容器。     
bash:放在镜像名后的是 命令,这里我们希望有个交互式 Shell,因此用的是 bash。

docker-compose命令

# 启动 会加载配置
docker-compose up
# 注意这里crtl + C 就退出了。用后台运行或者screen都可以。
docker-compose up -d 

# 重启 不会更新配置
docker-compose restart 

# 持续打印日志
docker-compose logs -f

docker命令详解