docker 自学笔记

docker run -itd --name mysql-test -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

-p 13306:3306   将容器的 3306 端口映射到主机的 13306 端口

--name my-mysql 启动后容器名为 my-mysql

-v $PWD/conf:/etc/mysql     将主机当前目录下的 conf/ 挂载到容器的 /etc/mysql (conf目录为mysql的配置文件,不挂载也没问题)

-v $PWD/logs:/logs          将主机当前目录下的 logs 目录挂载到容器的 /logs (logs目录为mysql的日志目录,不挂载也没影响)

-v $PWD/data:/var/lib/mysql     将主机当前目录下的data目录挂载到容器的 /var/lib/mysql (data目录为mysql配置的数据文件存放路径,这个还是建议挂载,是存储数据的,容器down掉,还能再次挂载数据。)

-e MYSQL_ROOT_PASSWORD=Dl123456   初始化 root 用户的密码

docker run -p <宿主机端口>:<容器端口> --name <创建的容器名> -v <宿主机本地目录1>:<容器目录1> -v <宿主机本地目录2>:<容器目录2> -e MYSQL_ROOT_PASSWORD= -d <mysql镜像名或者镜像 ID>

1. 拉取 Docker Hub 官方提供的mysql镜像

docker pull mysql:5.7

如果拉取很慢 可以换源

一般建议使用这个命令创建mysql容器

docker run -p 33060:3306 --name demo_mysql -v /data/mysql/conf:/etc/mysql -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

Docker命令

  • 查看docker已经启动的容器

docker ps

  • 查看docker所有容器

docker -a

启动容器命令

  • docker run 镜像名称:状态

  • docker run id名

  • 后台启动最常用 docker run -d id名

进入容器命令

  • docker exec -it (containID) bash

  • 容器管理

  • ‌ 创建容器 docker run

  • ‌管理容器

  • docker start:启动一个或多个已经被停止的容器

docker stop:停止一个或多个运行中的容器

docker restart:重启一个或多个容器

语法格式

docker start [OPTIONS] CONTAINER [CONTAINER...]

docker stop [OPTIONS] CONTAINER [CONTAINER...]

docker restart [OPTIONS] CONTAINER [CONTAINER...]

  • docker ps列表

  • docker start/stop 启动/停止

  • docker rm +containerID 删除容器

  • docker rename 改名

  • docker cp 复制

  • docker container prune 删除停止的容器,所有停止的容器。

  • docker exec 运行命令 运行完就会退出。

  • 如果想运行不完就不退出

  • docker commit 从容器创建新镜像

‌镜像管理

  • docker images 镜像列表

  • docker rmi 镜像删除

  • docker image prune 将所有不用的镜像删除

  • docker save/load 把镜像保存为一个压缩文件模式用于提取出来。

镜像传输

  • docker pull centos

  • docker push 推送到docker hub

  • docker tag 打标签

信息和状态

日志

docker logs

状态

  • docker stats

版本

  • docker version

进程

  • docker top

元数据

  • docker inspect

  • 端口

  • docker port

  • docker container ls -a

  • 导出容器

  • docker export id

  • 导入容器

  • docker import 加URL

  • ‌数据卷

  • ‌docker volume create ...创建

  • ‌列表 docker volume ls

  • ‌元信息 docker volume inspect ...

  • ‌删除 docker volume rm ...

  • docker run --rm --name sss python

  • 运行完就删除

  • Dockfile

  • ‌COPY/ADD添加文件

  • ‌ADD支持URL,支持从压缩文件中添加优先使用COPY,因为更透明

  • ‌ENV/LABEL/ARG添加信息

  • ‌RUN/SHELL执行命令

ocker run -p 8080:80 -v

/root/Playground/demosite:/usr/share/nginx/html:ro nginx

```

docker run -d -P \

--name web \

# -v my-vol:/usr/share/nginx/html \

--mount source=my-vol,target=/usr/share/nginx/html \

nginx:alpine

```

####

Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。

```

$ docker run -d -p 127.0.0.1:80:80/udp nginx:alpine

使用 udp 标记来指定udp 端口

使用 ip::containerPort 绑定 localhost 的任意端口到容器的 80 端口,本地主机会自动分配一个端口。

$ docker run -d -p 127.0.0.1::80 nginx:alpine

-p 标记可以多次使用来绑定多个端口

$ docker run -d \

-p 80:80 \

-p 443:443 \

nginx:alpine

新建网络

$ docker network create -d bridge my-net

运行一个容器并连接到新建的 my-net 网络

$ docker run -it --rm --name busybox1 --network my-net busybox sh

本文由自己在不同的文章上整理为自己的自己的学习笔记。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值