docker 官网地址 Docker run reference | Docker Documentation
下载离线包,网址:Index of linux/centos/8/x86_64/stable/Packages/
离线安装docker需要下载3个包,containerd.io ,docker-ce-cli,docker-ce 和libcgroup-0.41-19.el8.x86_64.rpm
注:所有的安装都是有顺序的,顺序乱了,无法安装注意是centos的还是ubuntu,ubuntu的deb请使用 sudu dpkg -i 安装包的方式安装
# yum localinstall containerd.io-1.2.6-3.3.fc30.x86_64.rpm
# rpm -ivh libcgroup-0.41-19.el8.x86_64.rpm
# rpm -ivh docker-ce-cli-19.03.13-3.el8.x86_64.rpm
# rpm -ivh docker-ce-19.03.13-3.el8.x86_64.rpm
# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
# yum install -y https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
# yum install -y docker-ce
# systemctl start docker
# docker info
使用docker的命令很多,这里就梳理几个常用的命令,用的时候可是使用 --help 查看可以携带的参数
1 启动docker
# systemctl start docker | service start docker
2 查看docker状态
# systemctl status docker | service status docker
3 查看docker服务状态
# docker info
4 停止
# docker systemctl stop docker | service stop docker
5 搜索服务
# docker search 镜像名
6 下载镜像
# docker pull 镜像名:版本 //可以去docker hup 中查看版本 latest 表示最新版
7 查看本地镜像
# docker images //列出本地有的镜像
8 删除镜像
# docker rmi 镜像名:版本号 | IMAGE_ID
9 根据镜像创建容器(不推荐使用)
# docker create --name nginx -p 80:80 nginx
docker create --name 自定义容器名 -p 映射到宿主机的端口:容器内端口 镜像名
具体细节,请参考官网文档
10 查看正在运行的容器
# docker container ls
# docker ps // docker ps -a 查看所有容器
11 启动 容器
# docker start 容器名
12 停止容器
# docekr stop 容器名
13 强杀容器
# docker kill 容器名
14 创建并运行容器(推荐使用)
# docker run -d --name nginx -p 80:80 nginx
// docker run -d --name 自定义容器名 -p 映射到宿主机的端口:容器内端口 镜像名
携带参数较多,具体细节,请参考官网文档
15 进入容器内部
# docker exec -it 容器名 /bin/bash
16 查找容器
# whereis mysql
17 退出容器
# exit
18 查看日志
# docker logs -f 容器名
19 查看容器中的进程
# docker top 容器名
20 查看容器内部信息
# docker inspect 容器名
21 把容器内部信息复制到本地
# docker cp nginx:/etc/nginx /data/
// docker cp 容器名:复制的文件 复制到本地的路径
22 暂停容器
# docker pause 容器名
23 暂停后恢复容器
# docker unpause 容器名
24 删除容器
# docker rm 容器名
25 查看docker占用的磁盘情况
# docker system df
26 删除未使用的镜像和容器释放磁盘空间
# docker system prune -a
27 删除数据卷文件并释放磁盘空间
# docker volume rm $(docker volume ls -qf dangling=true)
28 保存镜像到本地
# docker save -o nginx.war nginx
29 将文件导入到docker
# docker load -i nginx.war
30 标记本地镜像
# docker tag nginx test/nginx9
31 清理镜像
# docker image prune
32 将日志文件清空
# truncate -s 0 /var/lib/docker/containers/a376aa694b22ee497f6fc9f7d15d943de91c853284f8f105ff5ad6c7ddae7a53/*-json.log
例:docker run --name nginx -itd -p 80:80 -v /data/nginx/:/etc/nginx nginx
其中/data/nginx 就是我们挂载的目录这样就可以保证容器内中/etc/nginx和宿主机中的目录文件保持一致,即使容器销毁,宿主机中的目录也是存在的。
例:docker run -itd --name nginx -p 80:80 -v nginx-volume:/etc/nginx nginx //nginx-volume为自定义的数据卷名称
查看数据卷
# docker volume ls
查看数据卷在宿主机中的目录
# docker volume inspect nginx-volume
创建容器并使用匿名数据卷挂载
# docker run --name nginx -itd -p 80:80 -v /etc/nginx nginx
查看数据卷,发现数据卷中多了一个新的数据卷
# docker volume ls
查看数据卷详细信息
# docker volume inspect 0829c4a2b44d2d17c9e85e3a96213401cd9fa8fccfa98315ab6385cfe836ea69
docker 安装后会自动创建三种网络,bridge ,host,none
查看网络
# docker network ls
查看bridge网络的详细信息
# docker network inspect bridge
# docker network create -d bridge test-bridge
安装docker-compose
官网地址Compose file | Docker Documentation
下载
https://github.com/docker/compose下载最新版本: 1.27.4
mv /data/docker-compose-Linux-x86_64 /usr/local/bin/docker-composecp /data/docker-compose-Linux-x86_64 /usr/local/bin/docker-composechmod + x /usr/local/bin/docker-compose开发环境可以授予最高权限chmod 777 /usr/local/bin/docker-compose
docker-compose -vdocker-compose --versiondocker-compose version
version: '3'
services:
test-nginx:
restart: always
container_name: test-nginx
volumes:
- /data/nginx:/etc/nginx/
image: nginx:1.19.3-alpine
ports:
- 80:80
启动服务
docker-compose up -d
docker-compose down
docker-compose ps
docker-compose logs
docker-compose build
docker-compose start
docker-compose stop
docker-compose restart