systemctl start docker
docker --version
docker version / docker info
docker ps
docker build -t justpython .
docker image ls
docker image ls -a # List all images on this machine
docker image rm <image id> # Remove specified image from this machine
docker image rm $(docker image ls -a -q) # Remove all images from this machine
docker container ls # List all running containers
docker container ls -a # List all containers, even those not running
docker container inspect <container id> #查看一个容器的具体信息
docker container stop c61a0f2ad04c
docker container kill c61a0f2ad04c
docker container rm c61a0f2ad04c # Remove specified container from this machine
docker container rm $(docker container ls -a -q) # Remove all containers
docker container run -d -p 4000:80 justpython #映射容器的80端口到宿主机的4000端口
docker container run -itd --name ng nginx
docker container run -itd -m 256m --cpus 1 --name ng nginx
docker container run -itd -m 256m --cpus 1 --oom-kill-disable --name ng nginx
docker container attach <container id> #这种方式进入再退出,容器也会终止,慎用
docker container exec -it bs sh
docker container exec -it -e a=123 bs sh #启动终端时指定参数
docker container top bs #显示指定容器中运行的进程
docker container stats bs #查看资源利用率
docker container logs bs #查看容器的日志
docker container cp aaa.txt bs:/home #宿主计算机与容器间复制文件
docker container commit bs1 busybox:v2 #提交一个镜像,将容器中的改动持久化下来(不建议使用,因为容器本身就是封装好的)
docker container cp aaa.txt bs1:/root
docker container exec bs ls / #不进入容器执行命令的方式
docker volume ls
docker volume create nginx-vol
docker volume inspect nginx-vol
docker container run -itd --name=ng -p 8080:80 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx #指定数据卷
docker container run -itd --name=ng -p 8080:80 --mount type=bind,src=/user/share,dst=/usr/share/nginx/html nginx #这种方式可以挂载到宿主机的任意目录下
docker login # Log in this CLI session using your Docker credentials
docker tag justpython hurricaneljm/test:v1
docker tag <image> username/repository:tag # Tag <image> for upload to registry
docker push username/repository:tag # Upload tagged image to registry
docker run username/repository:tag # Run image from a registry
docker pull nginx:1.12
docker history nginx:1.12 #查看镜像中各层内容及大小
docker镜像默认存储在/var/lib/docker/<storage-driver>(overlay2)中
/etc/resolv.conf
/etc/hostname
/etc/hosts
更改docker默认的存储位置,在/etc/docker下新建文件daemon.json,文件内容为:
{
"graph": "/app/data/docker"
}
修改/usr/lib/systemd/system/docker.service文件,增加启动命令data-root,如下:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/app/data/docker
docker容器中执行ps命令展示的进程对应的是宿主计算机上的进程,可以通过宿主计算机结束掉容器中的进程,若结束掉容器中所有进程,容器也就退出了。
docker提供三种不同的方式将数据从宿主机挂载到容器中:
volumes:docker管理宿主机文件系统的一部分(/var/lib/docker/volumes);
bind mounts:可以存储在宿主机系统的任意位置(若挂载到的容器目录不为空,容器目录下的文件会被隐藏);
tmpfs:挂载存储在宿主机文件系统的内存中,而不会写入宿主机的文件系统
想要进入无法启动的容器,排查问题,可以使用如下方式启动:
docker run -d --entrypoint tail easysoft/zsite:8.6.1_nginx_ssl -F ~/.bashrc