docker学习笔记

1 docker环境安装

1.1 安装yum-utils

yum install -y yum-utils device-mapper-persistent-data lvm2

1.2  为yum源添加docker仓库位置

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

1.3  安装docker

yum install docker-ce

1.4 启动docker

systemctl start docker

2 docker镜像常用命令

2.1 搜索镜像

docker search mysql

2.2 查找镜像支持的版本

 

进入docker hub的官网,地址为:https://hub.docker.com,然后搜索需要的镜像

docker环境安装,镜像和容器常用命令_bash

image-20200810135719724

 

docker环境安装,镜像和容器常用命令_mysql_02

image-20200810135737004

2.3 下载镜像

 

docker pull mysql:5.7

2.4 列出镜像

 

docker images

2.5 删除镜像

  • 指定名称删除镜像:
docker rmi mysql:5.7
  • 指定名称删除镜像(强制):
docker rmi -f mysql:5.7
  • 删除所有没有引用的镜像
docker rmi  $(docker images | grep none | awk '{print $3}')
  • 强制删除所有的镜像
docker rmi -f $(docker images)

3 Docker容器常用命令

3.1 新建并启动容器

docker run -p 3306:3306 --name mysql -d mysql:5.7
  • 参数解释
    -p  指定端口映射,格式为:hostPort:containerPort
    --name选项:指定运行后容器的名字为mysql,之后可以通过名字来操作容器
    -d 表示后台运行

3.2 列出运行中的容器

docker ps

3.3 列出所有的容器

docker ps -a

3.4 停止容器

docker stop containerName(containerId)

例如:docker stop mysql or docker stop b417ac5a44b0

3.5 强制停止所有的容器

docker kill containerName(containerId)

例如:docker kill mysql or docker kill b417ac5a44b0

3.6 启动停止的容器

docker start containerName(container)

例如:docker start mysql docker start b417ac5a44b0

3.7 进入容器

  • 先查询出容器的pid
docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId)
  • 根据容器的pid进入容器
nsenter --target 11239  --mount --uts --ipc --net --pid

3.8  删除容器

  • 删除指定容器
docker rm $ContainerName(或者$ContainerId)
  • 按名称删除容器
docker rm `docker ps -a | grep mysql* | awk '{print $1}'`
  • 强制删除所有的容器
docker rm -f $(docker ps -a -q)

3.9 查看容器的日志

  • 查看当前容器日志
docker logs containerName(containerId)
  • 动态查看当前容器日志
docker logs containerName(containerId) -f

4.0 查看容器的ip地址

docker inspect --format '{{ .NetworkSettings.IPAddress }}'  containerName(containerId)

4.1 修改容器的启动方法

docker container update --restart=always $ContainerName

4.2 启动容器时指定时区

docker run -p 80:80 --name nginx \ -e TZ="Asia/Shanghai" \ -d nginx:1.17.0

4.3 在宿主机查看docker容器 cpu,内存,网络,io使用情况

  • 查看指定容器情况
docker stats  containerName(containerId)
  • 查看所有容器情况

 

docker stats  -a
  • 查看docker 磁盘使用情况
docker system df

docker环境安装,镜像和容器常用命令_docker_03

4.4  进入docker容器内部的bash

docker exec -it $ContainerName /bin/bash
  • 使用root账户进入docker容器内部的bash
docker exec -it --user root $ContainerName /bin/bash

4.5 创建外部网络

 

docker network create -d bridge my-bridge-network

4.6 修改docker镜像存放的位置

  • 查看docker镜像存放的位置

 

docker info | grep "Docker Root Dir"
  • 关闭docker服务

 

systemctl stop docker

 

  • 移动目录到目标路径

 

mv /var/lib/docker /mydata/docker
  • 建立软链接
ln -s /mydata/docker /var/lib/docker