# docker入门

# docker安装MySQL

> docker pull mysql:5.7.28

> docker run -p 3306:3306 --name mysql-jesse -e MYSQL_ROOT_PASSWORD=a123456 mysql:5.7.28

# arm平台用docker安装mysql

https://hub.docker.com/r/beercan1989/arm-mysql

1.使用docker仓库中的arm mysql镜像> docker pull beercan1989/arm-mysql

2.启动

临时启动

docker run -it \ -e 'MYSQL_ROOT_PASSWORD=123456' \ -e 'MYSQL_DATABASE=test' \ -e 'MYSQL_USER=jesse' \ -e 'MYSQL_PASSWORD=123456' \ -p '3306:3306' \ --name mysql \beercan1989/arm-mysql:latest

volume mounted 启动

docker run -it \ -e 'MYSQL_ROOT_PASSWORD=123456' \ -e 'MYSQL_DATABASE=test' \ -e 'MYSQL_USER=jesse' \ -e 'MYSQL_PASSWORD=123456' \ -p '3306:3306' \ --name mysql \ -v datadir:/home/jesse/mysql \beercan1989/arm-mysql:latest

# docker配置国内镜像加速

以下仅在ubuntu使用过

# 修改daemon配置文件

> sudo mkdir -p /etc/docker
> sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF

# 使配置生效

> sudo systemctl daemon-reload
> sudo systemctl restart docker

# docker中安装&使用redis

  1. 查找redis镜像> docker search redis
  2. 拉取redis镜像> docker pull redis
  3. 查看拉取是否成功> docker images
  4. 启动redis镜像> docker run -p6379:6379 -d redis:latest redis-server
  5. 查看容器启动情况> docker ps
  6. 连接redis的几种方式
docker exec -ti d0b86 redis-cli
docker exec -ti d0b86 redis-cli -h localhost -p 6379
docker exec -ti d0b86 redis-cli -h 127.0.0.1 -p 6379
docker exec -ti d0b86 redis-cli -h 172.17.0.3 -p 6379
// 注意,这个是容器运行的ip,可通过 docker inspect redis_s | grep IPAddress 查看
  1. 使用docker执行命令连接到启动的容器> docker exec -it redis_s redis-cli

  2. 远程连接的方式> docker exec -it redis_s redis-cli -h 192.168.1.100 -p 6379 -a your_password //如果有密码 使用 -a参数

# docker指定容器运行端口映射

\1. 指定容器端口, 宿主机端口随机映射> docker run -p80 -i -t ubuntu /bin/bash

\2. 同时指定宿主机和容器端口, 两者一一对应> docker run -p 8080:80 -i-t ubuntu /bin/bash

\3. 指定ip和容器端口> docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash

\4. 指定ip, 宿主机端口, 容器端口都指定> docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash

# 基础命令

需要使用哪个镜像, 直接使用search搜索

> docker search mysql

# docker pull

# 直接pull latest镜像
> docker pull mysql
# pull指定tag镜像 image:tag
> docker pull mysql:5.7.28

# docker run

# 示例1, 启动mysql镜像
> docker run -p 3306:3306 --name mysql-jesse -e MYSQL_ROOT_PASSWORD=a123456 mysql:5.7.28

# 示例2, 启动redis镜像
> docker run -p6379:6379 -d redis:latest redis-server

# -i是开启交互式  -t表示分配一个tty伪终端
> docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

# docker ps

查看容器启动进程情况

如果要查看上次停掉的容器进程,需要使用docker ps -a

# docker images [options] [repository]

查看镜像

-a, --all=false -f, --filter=[] --no-trunc=false -q, --quiet=false

# docker inspect [options] container|image

查看镜像信息

-f, --format="" --no-prune=false

# docker start

启动停止的容器

docker start [CONTAINER ID|NAMES]

# docker stop

停止运行的容器

# docker exec

为运行中容器启动新的进程命令

# docker rm

删除容器

# docker rmi

删除镜像

# docker logs

查看容器日志

# docker top

查看容器进程

# man查看使用手册

man docker-run man docker-exec

修改于: 8/11/2022, 3:17:56 PM