Docker之常用命令

安装docker服务

yum install docker

配置网易镜像加速器

vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

启动docker服务

service docker start

镜像搜索

docker search mysql[:tag]

下载镜像

docker pull mysql[:tag]

列出本地镜像

docker images

显示镜像创建的历史记录信息

docker history imageid

查看当前正在运行的容器

docker ps

查看所有的容器

docker ps -a

查看最后被创建的容器

docker ps -l 

启动、停止、重启容器

docker start ContainerID
docker stop ContainerID
docker restart ContainerID

进入容器

docker attach containid
docker exec -it containid sh

退出容器

exit(容器停止并退出)
ctrl+p+q(容器不停止并退出)

容器内文件拷贝到宿主机上

docker cp containid:容器内文件路径 宿主机路径

宿主机文件拷贝到容器内

docker cp 宿主机路径 containid:/www

删除镜像

docker rmi ImageID

删除容器

docker rm [-f] ContainerID

删除所有正在运行的容器

docker rm -f $(docker ps -q)

查看容器日志(带时间戳)

docker logs -ft containid

查看容器内进程

docker top containid

查看容器内部细节

docker inspect containid

容器数据卷,实现容器跟宿主机之间的数据共享
命令添加的方式

docker run -it -v 宿主机绝对路径目录:容器内目录 镜像名

dockerfile的方式(出于可移植和分享的考虑,用-v主机目录:容器目录的方式不能够直接在dockerfile中实现,由于宿主目录是依赖于特定的宿主机的,并不能保证在所有的宿主机上都存在这样的特定目录)

VOLUME["/dataVolumeContainer1","/dataVolumeContainer2","/dataVolumeContainer3"]

提交容器副本使之成为一个新的镜像

docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名]
docker commit -m="my tomcat" -a="yj" 容器id csdn/ui:0.1

在当前目录下基于DockerFile文件构建镜像

docker build -f dockerfile -t ImageName .
docker build -f /tmp/dockerfile -t csdn/ui  .

docker 镜像导入导出有两种方法:一种是使用 save 和 load 命令

#将指定镜像保存成 tar 归档文件
docker save csdn/ui:latest -o /tmp/ui.tar
#加载镜像
docker load -i /tmp/ui.tar

一种是使用 export 和 import 命令

docker export 98ca36> ubuntu.tar
cat ubuntu.tar | sudo docker import - ubuntu:import

mysql

docker run --name mySql -h mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d ImageID

使用Navicat连接该mysql时,如果出现Client does not support authentication protocol .....异常

docker exec -it mysql(这里的mysql是指你启动时的容器名称) bash

mysql -uroot -p

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

SELECT plugin FROM mysql.user WHERE User = 'root';

就可以在外机通过Navicat访问你docker中的mysql了

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH   PRIVILEGES;

redis

docker run --name myRedis -p 6379:6379 -d ImageID redis-server --requirepass "123456" --appendonly yes

nginx

docker run --name myNginx  -p 80:80 -d ImageID

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猎户星座。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值