Docker 常用命令

Docker 常用命令

一、镜像

1、创建镜像
在 dockfile 所在目录 执行下面命令
docker build -t docker-test .
注:docker-test 是我们给这个镜像起的名字

2、查看当前所有镜像
docker images

3、删除镜像
docker rmi 镜像标识(可以是镜像短id、镜像名、镜像长id)
docker rmi docker-test

4、重命名镜像
docker tag 镜像ID 新镜像名称:新镜像标签
docker tag 2b9bd146441d swoft:swoft-tag

二、网络

1、查看 docker 当前拥有的网络类型
docker network ls

2、创建自定义网络
docker network create --subnet=172.10.0.0/16 haveyb-network

三、容器

1、构建容器
docker run -itd --name 自定义容器名 --net 自定义网络类型 -p 6380:6379 --ip 172.10.0.2 使用的镜像名
举例:docker run -itd --name redis-master --net haveyb-network -p 6380:6379 --ip 172.10.0.2 docker-test
参数解释:
-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d: 后台运行容器,并返回容器ID;
--name: 为创建的容器命名
--net: 指定网络模式(这里指定刚才创建的自定义网络模式)
-p: 端口映射,格式为:主机(宿主)端口:容器端口
--ip: 为容器制定一个固定的ip

2、查看运行中的容器
docker ps -a

3、查看某个网络类型下,容器的地址
docker network inspect 网络类型名称
docker network inspect haveyb-network

4、进入容器
docker exec -it 容器名 bash
docker exec -it redis-master bash

5、退出容器
exit

6、停止容器
docker stop 容器名
docker stop redis-slave3

7、开启容器
docker start 容器名
docker start redis-slave3

8、删除容器
docker rm 容器ID

9、重命名容器
docker rename 容器ID 新容器名称:新容器标签名
docker rename 31c0472cb0bd swoft-1:w1

默认docker中的linux是不支持clear操作的,可以通过 yum install -y ncurses 来安装扩展,进而可以使用clear、vim等命令

四、宿主机与容器之间文件互传

1、宿主机向容器传文件

将宿主机的 index.php 拷贝到 容器名为 swoft 的 /data 目录下

docker cp index.php swoft:/data

2、容器向宿主机传文件

将容器名为 swoft 的容器的 /data/index.php 文件拷贝到 宿主机的 /data 目录下

docker cp swoft:/data/index.php /data

特别注意:这两条命令都是在宿主机上执行的,而不是在容器里执行的

五、镜像打包和加载

在平时的团队协作中,为了保持环境的一致,我们可以将自己的镜像打包一份给团队新的小伙伴,团队小伙伴可以直接加载我们打包好的docker镜像,省时又保证了环境的绝对一致。

1、自己打包镜像

docker save 镜像名或镜像ID > 打包后的压缩包文件名

 
2、别人加载我们打包的镜像

docker load < 镜像压缩包名

说明:这个和我们使用dockerfile的效果是一样的,区别在于,使用dockerfile需要从远程(或本地缓存)下载,但是使用save和load命令就可以避免由于网络原因造成的时间浪费。

因为整个打包过程就是一个压缩过程,整个加载过程就是一个解压过程,不存在网络交互。

六、基于容器的打包和加载

上面是基于镜像的打包和加载,现在介绍基于容器的打包和加载。

使用到的命令:docker export 和 docker import
 

 

NEW

1核2G服务器1年99元,还有更多配置等你挑选...

买阿里云服务器买腾讯云服务器