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/:国内仓库

docker学习(命令速查备忘)_第1张图片

复制命令:拉取

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

注:

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

docker学习(命令速查备忘)_第2张图片

输入你的加速器地址。

docker学习(命令速查备忘)_第3张图片

改名

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

docker学习(命令速查备忘)_第4张图片

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

删除

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下操作同.

docker学习(命令速查备忘)_第5张图片

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

docker学习(命令速查备忘)_第6张图片

进入容器

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

启动:

docker学习(命令速查备忘)_第7张图片

登录:无用户密码

docker学习(命令速查备忘)_第8张图片

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

docker学习(命令速查备忘)_第9张图片

容器文件拷贝本地

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

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

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

docker学习(命令速查备忘)_第10张图片

容器生命周期管理

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 .

docker学习(命令速查备忘)_第11张图片

然后就多了个镜像;

上传镜像(类似git)

docker push

你可能感兴趣的:(docker)