Docker之 操作命令

177 阅读2分钟

一 docker安装

1.1 docker安装

  1. 先删除原来的docker

sudo yum remove docker*

  1. 设置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源\
  1. 安装指定版本

    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
    
  2. 启动服务

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命令

docker官网常用命令

image.png

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 查配置是否生效

查询镜像仓库

docker设置为国内镜像

3.2 查看镜像 docker images

3.3 启动镜像 docker run

参数

  • -d 决定容器启动 是否可以后台运行 -d=true 或者-d 则表示 后台运行

docker run -d nginx image.png

docker run nginx

image.png

  • -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 删除容器

docker rm

4.4 启动容器docker start

docker start myredis

4.5 暂停docker pause

docker pause myredis

4.6 取消暂停docker unpause

4.6容器相关操作docker container

4.7 停止容器

docker kill

docker stop

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 查看容器日志

docker log

4.11 进入容器

4.11.1 docker attach

使用 CTRL+P+Q 退出当前容器内部回话,就会后台运行了。

4.11.2 docker exec

参数详解

五卷相关操作

1.创建volume

docker volume create

2. 查看voluem

docker volume ls

六 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

参数详解

--subnet 设定子网掩码和网段

--gateway 网关

参考资料

参考1

docker 中文社区