命令 | 描述 |
systemctl enable docker.service | //开机自启 docker |
systemctl disable docker.service | //关闭开机自启 docker |
启动时加--restart=always | //docker容器设置自动启动 |
docker rm -f <containerid> | //删除指定容器 |
docker rm $(docker ps -a|grep Created|awk '{print $1}') 或者 docker rm $(docker ps -qf status=created) | 删除未启动成功的容器 |
docker rm $(docker ps -a|grep Exited|awk '{print $1}') 或者 docker rm $(docker ps -qf status=exited) | 删除退出状态的容器 |
docker rm $(docker ps -a -q) #正在运行的删除不了,所有未运行的都被删除了 或者 docker container prune #Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器 | 删除所有未运行的容器 |
docker images | 检查docker 是否安装完成 |
sudo systemctl start docker | 启动docker |
//例如docker-ce-18.09.1 从:都第一个连接符 $ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io | 安装docker |
//阿里云 $ sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo | //阿里云 docker稳定版 |
//清华源 $ sudo yum-config-manager \ --add-repo \ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo | //清华源 docker 稳定版安装 |
yum -y install docker | 安装Docker, |
usermod -G docker $USER | //将当前用户添加到docker组中. |
groupadd docker | 如果docker组不存在 |
docker search nginx | 查找docker 镜像 |
docker pull nginx | 拉取镜像 |
docker run -i -t nginx /bin/bash | 运行镜像并进入镜像 |
docker ps:列出运行中的容器 | |
docker ps -a :列出所有的容器 | |
docker stop 容器id:停止容器 | |
docker kill 容器id:强制停止容器 | |
docker start 容器id:启动已停止的容器 | |
docker inspect 容器id: | 查看容器的所有信息 |
docker container logs 容器id:查看容器日志 | |
docker top 容器id:查看容器里的进程 | |
docker exec -it 容器id /bin/bash:进入容器 | |
exit:退出容器 | |
docker rm 容器id | :删除已停止的容器 |
docker rm -f 容器id | :删除正在运行的容器 |
.在主机/mnt目录下执行 mkdir -p ./nginx/{conf,html,logs}创建挂载目录 | 创建nginx挂在目录 |
chmod 777 /shangyc/docker/jenkins_mount | 赋权限 |
创建nginx容器 | 首先测试下nginx镜像是否可用, 使用docker run -d --name mynginx -p 80:80 231d创建并启动nginx容器 -d 指定容器以守护进程方式在后台运行 --name 指定容器名称,此处我指定的是mynginx -p 指定主机与容器内部的端口号映射关系, 格式 -p [宿主机端口号]:[容器内部端口],此处我使用了主机80端口,映射容器80端口 231d 是nginx的镜像IMAGE ID前4位 |
创建挂载目录后重启(创建挂载目录后停掉并且删除之前的容器再重新创建) | docker run -d --name nginx -p 80:80 -v /mnt/nginx/nginx.conf:/etc/nginx/nginx.conf -v /mnt/nginx/logs:/var/log/nginx -v /mnt/nginx/html:/usr/share/nginx/html -v /mnt/nginx/conf:/etc/nginx/conf.d --privileged=true de2543b9436b |
将容器内的nginx.conf与default.conf文件分别拷贝到主机/mnt/nginx与目录/mnt/nginx/conf下,分别执行 docker cp ef:/etc/nginx/nginx.conf ./ dokcer cp ef:/etc/nginx/conf.d/default.conf ./conf/ | |
docker run -d --name jenkins --user=root -p 8888:8080 -p 5000:5000 -v /mnt/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --restart=always --privileged=true 73264ace1394 | 启动jenkins -d 后台运行镜像 -p 80:8080 将镜像的8080端口映射到服务器的80端口 -p 50000:50000 将镜像的50000端口映射到服务器的50000端口 tcp -v jenkins:/var/jenkins_home /var/jenkins_home目录为jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。 -v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。 --name jenkins 给容器起一个别名 --privileged=true 设置挂载访问权限 --restart=always 一直启动 |
http://mirror.esuni.jp/jenkins/updates/update-center.json | 修改jenkins源代码 |
docker commit -p 30b8f18f20b4 container-backup | 创建快照 |
# docker save -o ~/container-backup.tar container-backup | 保存tar快照 |
# docker load -i ~/container-backup.tar | 恢复快照 |
docker run -d -p 80:80 container-backup | 运行镜像 |
docker rmi $(docker images | grep "none" | awk '{print $3}') | docker 删除tag为none镜像 |
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) | 启动所有容器 |
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2) | 关闭所有容器 |
docker常用命令解析
最新推荐文章于 2023-04-23 12:57:40 发布