docker mysql命令大全_docker常用指令详解

指令详解

从远程仓库拉取镜像

//docker image pull library/hello-world默认从library拉取可以省略

docker image pull hello-world

查看镜像列表

docker image ls

运行一个docker的镜像,产生一个容器实例

//运行

docker run hello-world

//echo会在shell打印一段文字,起提示作用

Hello world

检查本地是否存在指定的镜像,不存在就从公有仓库下载

利用镜像创建并启动一个容器

分配一个文件系统,并在只读的镜像层外面挂载一层可读写层

从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去

从地址池配置一个 ip 地址给容器

执行用户指定的应用程序

执行完毕后容器被终止

查看容器

// 列出本机正在运行的容器

docker container ls

// 列出本机所有容器,包括终止运行的容器

docker container ls --all

启动一个可交互的容器

docker run -t -i ubuntu:14.04 /bin/bash

docker run 命令,并启动名称为ubuntu:14.04的容器 。

-t 表示在新容器内指定一个伪终端或终端

-i表示允许我们对容器内的 (STDIN) 进行交互。

可以将-t -i缩减为-it好记

我们在容器内还指定了一个新的命令: /bin/bash 。这将在容器内启动 bash shell,这是一个交互程序

注意":"后面为TAG,如果没有指定默认就为latest

所以当容器(container)启动之后,我们会获取到一个命令提示符:

root@af8bae53bdd3:/#

这代表我们已经进入了容器内部

启动守护进程,后台一直运行容器

docker run -d ubuntu:14.04

//注意-d和-it同时使用,-it会无效,-d需要返回一个容器id

端口映射,挂载数据卷,命名容器

docker run -d --name=ant_web_pro -v /宿主机绝对路径:/容器内目录 -p docker外部端口:docker内部端口 nginx

-P: 随机端口映射,容器内部端口随机映射到主机的高端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

--name="nginx-lb": 为容器指定一个名称;

--volume , -v: 绑定一个卷

如果是容器里的目录不存在,两者都会自动创建

-v $PWD/目录:/容器内目录 $PWD表示当前文件夹

当你在容器容器内部改变数据卷是其实软连接到了外部,数据直接在宿主机改变

查看数据卷

docker volume ls

启动已终止的容器

容器可以通过run新建一个来运行,也可以重新start已经停止的container,但start不能够再指定容器启动时运行的指令,因为docker只能有一个前台进程。

容器stop(或Ctrl+D)时,会在保存当前容器的状态之后退出,下次start时保有上次关闭时更改。而且每次进入attach进去的界面是一样的,与第一次run启动或commit提交的时刻相同。

docker start $CONTAINER_ID

docker stop $CONTAINER_ID

docker restart $CONTAINER_ID

退出容器

exit

进入容器

docker exec -it ant-design-pro_web /bin/bash

//docker exec -it 64b9ded82141 bash (可以是id)

删除一个或多个container、image(rm、rmi)

// 删除容器

docker rm

// 删除所有停止的容器

docker rm $(docker ps -a -q)

// 删除镜像

docker rmi

docker查看数据卷轴

docker volume ls

commit 容器,创建新镜像

我们期望能定制自己的镜像,在里面安装一些基础环境(比如上文中的 node),然后制作出自己要的基础镜像。

docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

docker镜像的导出和导入

docker save -o

docker save -o ./ubuntu18.tar ubuntu:18.04

docker load --input ./ubuntu18.tar

docker export >

docker export ubuntu18 > ./ubuntu18.tar

docker import

docker import ./ubuntu18.tar ubuntu18

export命令是从容器(container)中导出tar文件,而save命令则是从镜像(images)中导出

export导出的文件再import回去时,无法保留镜像所有历史(即每一层layer信息,不熟悉的可以去看Dockerfile),不能进行回滚操作;而save是依据镜像来的,所以导入时可以完整保留下每一层layer信息。

docker安装一些软件完整指令

docker run -d --name mysql3 -p 3308:3306 -v /usr/local/docker/mysql/data2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

-e设置环境变量,MYSQL_ROOT_PASSWORD登录密码

-v /usr/local/docker/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf: 将容器中 /etc/mysql/mysql.conf.d/mysqld.cnf 配置文件挂载到宿主机的 /usr/local/docker/mysql/config/mysqld.cnf 文件上;

-v /usr/local/docker/mysql/data:/var/lib/mysql: 将容器中 /var/lib/mysql 数据目录挂载到宿主机的 /usr/local/docker/mysql/data 目录下;

mysql:5.7是你的镜像名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值