docker学习(命令速查备忘)

docker

安装

curl -sSL https://get.daocloud.io/docker | sh

修改镜像

修改/etc/docker/daemon.json(没有新建)

{
“registry-mirrors”: [“https://almtd3fa.mirror.aliyuncs.com”]
}

开启docker

#开启
systemctl start docker
##设置开机自启
systemctl enable docker

下载镜像

https://hub.daocloud.io/:国内仓库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZQMi3Piu-1608819407308)(docker.assets/image-20201118215926931.png)]

复制命令:拉取

docker pull daocloud.io/library/rabbitmq:3.6.9-management

注:

这个网站容器都太老了。我们可以配置阿里云镜像加速;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02n4iNyW-1608819407311)(docker.assets/image-20201224201624968.png)]

输入你的加速器地址。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jwxeHEQi-1608819407312)(docker.assets/image-20201224201554463.png)]

改名

#docker tag [镜像id,可写前几位,能唯一区分镜像即可]  镜像名:版本号
docker tag b8 tomcat:8.5

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-of3srooS-1608819407315)(docker.assets/image-20201118220423339.png)]

虽然改名,但是还是同一个镜像

删除

docker rmi resp:tag

首次运行容器

参数说明:

  • -i: 交互式操作。
  • -t: 终端。

要退出终端,直接输入 exit:

-d:后台运行容器

-it:启动并进入容器

-itd:后台运行并链接进容器shell

-p:主机端口:容器端口 ,映射端口;如果本地没有

docker run -d -p 主机端口:容器端口 --name 名字 容器id

-v: 容器与宿主机磁盘目录映射 ,下面以linux和windows为例,运行nginx

linux的docker:
docker run --name myNginx -v /data/html:/usr/share/nginx/html -p 8888:80 -d nginx

解释:运行容器(取名为myNginx),将本地/data/html挂在容器中路径/usr/share/nginx/html(nginx默认html路径),并且访问本地localhost:8888将访问到容器的80端口(nginx默认端口),后台启动nginx(省略写法,完整为:nginx:latest,也可以使用镜像唯一id)

windows的docker:
docker run --name myNginx -v /G/Dockerfile/nginx/html:/usr/share/nginx/html -p 8888:80 -d nginx

解释:将本地G:\Dockerfile\nginx\html目录映射到nginx默认的html页面存放处,其他与linux下操作同.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sb3jTPaE-1608819407317)(docker.assets/image-20201224165219853.png)]

这里我把一个简单的html项目放本地:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MVSE4Ysn-1608819407319)(docker.assets/image-20201224173545847.png)]

进入容器

docker exec -it 容器id bash

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FA6W9I9j-1608819407321)(docker.assets/image-20201118220842766.png)]

文件拷贝到容器

docker cp 文件名  容器id:目录

这里直接用git bash操作了,因为git bash(git由linux之父编写)能使用linux命令;

$ docker pull mongo:4.4.2

启动:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-15O0Och6-1608819407322)(docker.assets/image-20201224202514868.png)]

登录:无用户密码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1k4pTOyM-1608819407324)(docker.assets/image-20201224204756019.png)]

拷贝本地的Mybatis帮助文档.cnm到mongo容器内的根路径下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XDs5QEgk-1608819407325)(docker.assets/image-20201224205106569.png)]

容器文件拷贝本地

docker cp 容器id:容器内文件路径   宿主机目的路径

因为上次操作把中文名文档拷贝到docker里,这里我对mongo容器回炉重造了容器新的id为:299bd…;

这里将容器的home目录拷贝到控制台当前打开目录;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w6BLMJws-1608819407327)(docker.assets/image-20201224212303372.png)]

容器生命周期管理

docker ps : 列出容器

语法

docker ps [OPTIONS]

OPTIONS说明:

  • -a : 显示所有的容器,包括未运行的。

  • -f : 根据条件过滤显示的内容。

  • –format : 指定返回值的模板文件。

  • -l : 显示最近创建的容器。

  • -n : 列出最近创建的n个容器。

  • –no-trunc : 不截断输出。

  • -q : 静默模式,只显示容器编号。

  • -s : 显示总的文件大小。

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

docker stop容器名|id :停止一个运行中的容器

docker restart 容器名|id :重启容器

docker pause 容器名:暂停容器中所有的进程。

docker unpause 容器名:恢复容器中所有的进程。

docker create : 创建一个新的容器但不启动它 --name 名字 容器名:版本

docker rm : 删除一个或多个容器。

语法

docker rm [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS说明:

  • -f : 通过 SIGKILL 信号强制删除一个运行中的容器。
  • -l : 移除容器间的网络连接,而非容器本身。
  • -v : 删除与容器关联的卷。

docker镜像构建

构建镜像就是在原始镜像(linux操作系统上添加操作);例如

创建新文件:mkdir Dockerfile

进入文件:cd Dockerfile

新建Dockerfile文件,写入下方代码touch Dockerfile

FROM nginx
RUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html

在nginx的镜像上每一个RUN镜像就多一层,所有尽量避免多层;

构建镜像:docker build -t nginx:v3 .

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bdyC53ou-1608819407328)(docker.assets/image-20201224221003850.png)]

然后就多了个镜像;

上传镜像(类似git)

docker push

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值