一 docker安装
1.1 docker安装
- 先删除原来的docker
sudo yum remove docker*
- 设置docker yum 源
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#此处可以百度 docker yum aliyun 切换为ali的yum源\
-
安装指定版本
3.1 查询可用版本
yum list docker-ce --showduplicates | sort -r 3.2 安装指定版本
yum install docker-ce-3:20.10.5-3.el7.x86_64 docker-ce-cli-3:20.10.5-3.el7.x86_64 containerd.io -
启动服务
systemctl start docker
systemctl enable docke
1.2 镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
} EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
#以后docker下载直接从阿里云拉取相关镜像
1.3 docker隔离原理
- namespace隔离 UTS | CLONE_NEWUTS | 主机和域名 | | ------- | ------------- | ------------- | | IPC | CLONE_NEWIPC | 信号量、消息队列和共享内存 | | PID | CLONE_NEWPID | 进程编号 | | Network | CLONE_NEWNET | 网络设备、网络栈、端口等 | | Mount | CLONE_NEWNS | 挂载点(文件系统) | | User | CLONE_NEWUSER | 用户和用户组 |
二 docker命令
2.1 docker管理命令
多用于集群 docker-swarm 现在集群一般使用k8s
2.2 docker 客户端命令
三 镜像相关操作
3.1下载镜像 docker pull
daocloud.io/library
使用镜像出现问题
[root@localhost docker]# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: failed (Result: start-limit) since Sat 2022-04-23 21:14:09 CST; 2s ago
Docs: https://docs.docker.com
Process: 4759 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
Main PID: 4759 (code=exited, status=1/FAILURE)
设置为国内镜像
docker info 查配置是否生效
3.2 查看镜像 docker images
3.3 启动镜像 docker run
参数
- -d 决定容器启动 是否可以后台运行 -d=true 或者-d 则表示 后台运行
docker run -d nginx
docker run nginx
-
-p 指定端口号
-
-P 大写P 自动映射端口
3.4 镜像管理操作docker iamge
3.5 删除镜像docker rmi
3.6 查看一个镜像构建历史docker history
3.7 查看镜像详情docker inspect
四 容器相关操作
4.1 查看运行中的容器 docker ps
4.2 创建容器 docker create
docker create --name myredis -p 6379:6379 redis
4.3 删除容器
4.4 启动容器docker start
docker start myredis
4.5 暂停docker pause
docker pause myredis
4.6 取消暂停docker unpause
4.6容器相关操作docker container
4.7 停止容器
4.8 运行容器docker run
docker run --name myredis2 -p 6379:6379 -p 8888:6379 redis :默认是前台启动的,一
般加上-d 让他后台悄悄启动, 虚拟机的很多端口绑定容器的一个端口是允许的
docker run -d == docker create + docker start\
参数详解
--link 绑定另外一个容器
--name 给容器命名
-d 后台运行
-P 随机启动一个宿主机端口
-p 指定端口映射
4.9 构建容器 docker build
1.指令
2.Demo
- 使用自己的dockerfile 构建镜像 -t ping:v1 镜像名:tag -f
docker build -t ping:v1 -f dockerfile_ping .
4.10 查看容器日志
4.11 进入容器
4.11.1 docker attach
使用 CTRL+P+Q 退出当前容器内部回话,就会后台运行了。
4.11.2 docker exec
参数详解
五卷相关操作
1.创建volume
2. 查看voluem
六 docker 系统管理
6.1 docker system
6.2 docker prune
七 docker 网络 docker network
7.1 docker crate 自定义网络
docker network create --subnet=192.168.0.0/16 --gateway=192.168.0.1 mynet