环境搭建请看上一篇
1、开启docker
#systemctl start docker
2、下载一个Ubuntu镜像,可以去阿里源搜
#docker pull dokken/ubuntu-18.04
默认的路径是:/var/lib/docker/image/overlay2/imagedb/content/sha256,如果后面发现删不掉images了可以来这个路径直接rm删
3、查看镜像
#docker images
4、修改镜像tag
#docker tag dokken/ubuntu-18.04 ubuntu-test:1.0
5、删除镜像
6、开启容器
docker run --name test1 -p 8080:8080 -d ubuntu-test:1.0
这样,一个容器就跑起来了
7、制作自己的镜像
我们可以对镜像进行一些环境配置和自定义程序的安装,之后就可以制作自己的镜像以备后续使用
后面我们再使用的时候,就可以直接用my-test这个镜像,run起来后,就直接携带我们前面配置的环境了
8、常用操作
拷贝:docker cp 文件 容器名或者id:路径
详情:docker ps -a --no-trunc
进入容器内部:docker exec -it id bash(这里的id要通过docker ps拿到并且可以缩写)
创建容器并进入容器内部:docker run -itd --name 容器名 镜像名:镜像tag /bin/bash
开启关闭容器:docker start/stop/restart id
删除容器:docker rm id
删除全部容器:docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
查看容器的内存:docker system df -v
创建镜像的复杂命令:docker run -itd --name test-1 --cap-add SYS_TIME --net docker-br0 --ip 10.10.10.111 ubuntu-test-test:1.0 sh -c "ls"
这三个参数(-i, -t, -d)是啥意思
Options | Mean |
---|---|
-i | 以交互模式运行容器,通常与 -t 同时使用; |
-t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用; |
-d | 后台运行容器,并返回容器ID; |
name:指定容器名字
--cap-add SYS_TIME:这个参数主要为了解决在docker容器中的centos无法使用gdb调试,或者无法使用date命令修改系统时间的问题
--net docker-br0 --ip:为容器指定ip
sh -c :创建容器同时,在容器里执行shell命令
docker search ubuntu //直接用docker命令找Ubuntu镜像包,不推荐,没有直接阿里云找的版本全