docker常见命令小结
常见命令
docker ps #查看正在运行的容器.
docker exec -it 264bb068855e /bin/bash #进入容器,并作出修改
docker commit 3bd0eef03413 lingdun2:v1.3 提交你刚才修改的镜像,新的镜像名称为demo,版本为v1.3
docker images #查看是否生成成功
docker save lingdun/shizhan > /CTFd/lindun.tar
docker run -d -p 3399:80 -p 3306:3306 lindun
#把本地文件上传到docker中
docker cp /root/X-matrix.zip 0cab7651cc2d:/opt/mlamp
docker exec -it f293c3bb0fe4 /bin/bash #进入容器
1、安装前检查
1、安装前检查
cat /etc/os-release #查看docker版本信息
uname -r # 系统的内核是3.10以上的
yum -y install gcc #yum安装gcc环境(需要确保虚拟机可以上外网)
yum -y install gcc-c++ #确定是Centos7以上的版本、
yum list installed|grep docker #检查是否安装过docker
2、安装dockers
2、安装dockers
#1.卸载旧的版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#2.需要安装的安装包
sudo yum install -y yum-utils
#3.设置镜像的仓库(国外)
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #推荐使用国内的镜像资源.比较快
#建议事先 更新yum 的软件包的索引
yum makecache fast
#4.安装docker相关的引擎 docker-ce 社区 ee企业版
sudo yum install docker-ce docker-ce-cli containerd.io
#安装docker-ce : sudo yum -y install docker-ce
#5.启动Docker
sudo systemctl start docker
#6.使用Docker version来测试是否启动成功
docker version
#1.卸载依赖(如果第一次没有起来,卸载重新安装一下)
yum remove docker-ce docker-ce-cli containerd.io
#2.删除资源
rm -rf /var/lib/docker
# /var/lib/docker docker的默认工作路径
复制代码
yum install docker-ce-17.09.0.ce
3、设置加速器
3、设置加速器
# 加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://8y3ymul4.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload #重新加载加速器
sudo systemctl restart docker
4、测试docker是否可用nginx
4、测试docker是否可用nginx
#1.搜索镜像 search 建议去docker官方文档查看
docker search nginx
#2.下载镜像 pull
docker pull nginx
#3.运行测试
docker images
# -d 后台运行
# --name 给容器命名
# -p 宿主机端口:容器内端口
docker run -d --name nginx01 -p 3344:80 nginx
docker ps
curl localhost:3344
docker exec -it f293c3bb0fe4 /bin/bash #进入容器
docker start ec7929b6f99c #开启容器
5、检查之前是否安装过docker
5、检查之前是否安装过docker
systemctl start docker #开启docker
systemctl enable docker #开机启动
docker version #查看启动
docker-compose -version #查看docker-compose
1)首先需要停止所有的容器
docker stop $(docker ps -a -q)
2)删除所有的容器(只删除单个时把后面的变量改为image id即可)
docker rm $(docker ps -a -q)
3)删除全部的images
docker rmi $(docker images -q)
6、重新配置docker网络
systemctl stop docker.socket&&ip link set dev docker0 down&&brctl delbr docker0&&brctl addbr docker0&&ip addr add 172.16.10.1/24 dev docker0&&ip link set dev docker0 up&&systemctl restart docker
6、重新配置docker网络
#停止docker
systemctl stop docker.socket
systemctl stop docker
#docker0
ip link set dev docker0 down
#删除docker0网桥
brctl delbr docker0
#增加docker0 网桥
brctl addbr docker0
#增加网卡
ip addr add 172.16.10.1/24 dev docker0
#启用网卡
ip link set dev docker0 up
#重启docker服务
systemctl restart docker
7、设置docker-compose和Dockerfile
7、设置docker-compose和Dockerfile
#Dockerfile部署
docker build -f dockerfile -t caichuanqi/centos:1.0 . #安装Dockerfile
docker build -f dockerfile. #安装Dockerfile
#docker-compose安装
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
unzip CTFd-3.4.0.zip
docker-compose build
docker-compose up -d #安装docker-compose
8、导入和导出dockers
8、导入和导出dockers
docker ps #查看正在运行的容器.
docker exec -it 264bb068855e /bin/bash #进入容器,并作出修改
docker commit 3bd0eef03413 lingdun2:v1.3 #提交你刚才修改的镜像,新的镜像名称为demo,版本为v1.3
docker images #查看是否生成成功
#保存dockers
docker save lingdun/shizhan > /CTFd/lindun.tar #保存dockers
docker export <CONTAINER ID> > /home/export.tar
#导入docker
docker load < ctfd.tar
docker load -i web1_v2.tar
#启动docker
docker run -d -p 8000:8000 ctfd-340_ctfd
shell执行`docker run -d -p80:80 -v shizhan_sqldb:/var/lib/mysql lingdun/shizhan`
docker run -d -p 3399:80 -p 3306:3306 lindun
docker run -d -p 8088:80 -p 2233:22 --name web4 464fa5d4cc5c
docker run -d --name nginx01 -p 3344:80 nginx
#把本地文件上传到docker中
docker cp /root/X-matrix.zip 0cab7651cc2d:/opt/mlamp
9、开启docker中的ssh功能
9、开启docker中的ssh功能
#AWD 开启docker中的ssh
sudo apt-get install openssh-server
sudo ps -e |grep ssh
sudo service ssh start
打开终端解锁root账户密码 :sudo passwd -u root
为root账户设置密码:sudo passwd root
10、docker开机自启
#1、设置docker开机启动
systemctl enable docker
#2、设置容器自动重启
1)创建容器时设置
docker run -d --restart=always --name #设置容器名 使用的镜像
(上面命令 --name后面两个参数根据实际情况自行修改)
# Docker 容器的重启策略如下:
--restart具体参数值详细信息:
no // 默认策略,容器退出时不重启容器;
on-failure // 在容器非正常退出时(退出状态非0)才重新启动容器;
on-failure:3 // 在容器非正常退出时重启容器,最多重启3次;
always // 无论退出状态是如何,都重启容器;
unless-stopped // 在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了的容器。
2)修改已有容器,使用update
如果创建时未指定 --restart=always,可通过update 命令设置
docker update --restart=always 容器ID(或者容器名)
(容器ID或者容器名根据实际情况修改)