docker必须掌握的基础命令

docker学习笔记(必备的几个docker基础技能集合)

1、基础命令(镜像及容器查看)

镜像的查看:

docker images

注意:images ID 是镜像的ID,启动和删除都会使用到

容器查看:
所有的容器都能看到,包括未在运行的:

docker ps -a

监听状态下的容器查看:

docker ps 

注意:container ID 是容器的ID,启动和删除都会使用到

2、容器及镜像的启动/运行/删除

要删除一个容器,首先需要停止这个容器:
停止:

docker stop container ID

停止全部容器:

docker stop $(docker ps -a -q)

停止之后即可进行删除操作:

docker rm container ID

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

删除images,通过image的id来指定删除谁

docker rmi <image id>

想要删除untagged 镜像,也就是那些id为的

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要删除全部image的话

docker rmi $(docker images -q)

步骤总结:

1、docker ps -a 查看哪些在用容器
2、docker rm CONTAINER ID
3、docker images
4、docker rmi IMAGE ID

进入容器:

1、docker ps -a
2、docker exec -it ab45716603de /bin/bash

启动一个容器:

docker run -p 8081:8080 tomcat &

注:可以用--name给他指定了一个名(不指定的话会生成一个随机的名子)

以挂载的方式启动容器:

docker run -i -t -v /root/software/:/mnt/software/ e934 /bin/bash

其中,相关参数包括:
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

3、Docker cp 命令

docker cp :用于容器与主机之间的数据拷贝。
语法

> docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS]
> SRC_PATH|- CONTAINER:DEST_PATH

实例
将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。

docker cp /www/runoob 96f7f14e99ab:/www/

将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。

docker cp /www/runoob 96f7f14e99ab:/www

将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。

docker cp  96f7f14e99ab:/www /tmp/

4、数据卷

docker可以支持把一个宿主机上的目录挂载到镜像里。

docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash

默认挂载的路径权限为读写。如果指定为只读可以用:ro

docker run -it -v /home/dock/Downloads:/usr/Downloads:ro ubuntu64 /bin/bash

数据卷

数据卷:“其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的”。其他的容器启动可以直接挂载数据卷容器中定义的挂载信息。

创建一个普通的容器,用了挂载:

docker run -v /home/dock/Downloads:/usr/Downloads  --name dataVol ubuntu64 /bin/bash

再创建一个新的容器,来使用这个数据卷。

docker run -it --volumes-from dataVol ubuntu64 /bin/bash

–volumes-from用来指定要从哪个数据卷来挂载数据。

5、创建docker私有仓库:

参考文章:
写的超级详细:https://www.cnblogs.com/linjiqin/p/8619667.html

6、实际案例(Tomcat发布一个自己的网站)

大致的过程如下,后续详细补充:
方式1:
直接pull一个Tomcat镜像,然后docker cp 将需要的网站包放到 /usr/local/tomcat/webapps 下面,然后:docker run -p 8080:8080 tomcat &

方式2:
pull 一个centos镜像,启动之后,环境变量及Tomcat安装包挂载进去,启动

发布了36 篇原创文章 · 获赞 46 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_31457413/article/details/100128313
今日推荐