阿里云镜像安装
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
docker 加速
https://www.daocloud.io/mirror
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
sudo systemctl daemon-reload
sudo service docker restart
关闭centos7防火墙
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
docker端口映射的报错
docker: Error response from daemon: driver failed programming external connectivity on endpoint loving_bassi (37b4c399f676cf46e35fd26b2298ad81aac87739d8aee416f449e36c6cb22503): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 90 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
-
解决方式
-
pkill docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
service docker restart
阿里镜像操作
Dockerfile
-
测试的dockerfile
FROM centos
LABEL maintainer="Chao Yu<yc_uuu@163.com>"
ADD CentOS-Base.repo /etc/yum.repos.d/
ADD epel.repo /etc/yum.repos.d/
RUN yum clean all
RUN yum install python-pip -y
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask
COPY myflask.py /app/
WORKDIR /app
EXPOSE 8080
CMD ["python","myflask.py"]
1.引入一个centos镜像,为基础镜像
2.作者注释信息
3.添加本地的两个yum文件,到容器的/etc/yum.repos.d/底下
4.清空yum缓存
5.yum安装pip工具
6.pip安装flask模块,指定清华源
7.拷贝本地的flask代码,到容器的/app/目录下
8.切换工作目录,到/app底下
9.暴露容器的8080端口,然后在运行镜像时候,加上-p参数,指定端口映射
10.执行命令,运行flask
docker 常用命令
docker images //查看所有的镜像
docker search 镜像名字 //查询镜像
docker pull 镜像名字:版本 //下载镜像
docker rmi -f 镜像ID //删除镜像
docker tag 70ff7873d7cd 镜像名称 //修改镜像tag名称
docker run -d -p 9200:9200 -p 9300:9300 //指定端口
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" //配置参数
--name es //别名
elasticsearch //镜像名称或者镜像ID
docker rename 镜像ID <new_container> //修改容器别名
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
docker ps //显示当前运行容器
docker ps -a //显示所有容器
exit //容器停止退出
ctrl+P+Q //容器不停止退出
docker start 容器ID //启动容器
docker restart 容器ID //重启容器
docker stop 容器ID //停止容器
docker kill 容器ID //强制停止容器
docker rm -f 容器ID //删除容器
docker logs -f --tail=30 容器ID //查看容器日志
docker top 容器ID //查看容器内运行的进程
docker exec -it 容器ID /bin/bash //进入容器
docker hub的使用
docker login
docker tag 1641 gyarmy/centos-gy-vim:v1
docker push gyarmy/centos-gy-vim:v1
docker search gyarmy
docker pull gyarmy/centos-gy-vim
# 如果设置了加速器,就需要修改为
docker pull registry.hub.docker.com/gyarmy/centos-gy-vim:v1
docker tag registry.hub.docker.com/gyarmy/centos-gy-vim:vim gyarmy/vim
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
https://www.daocloud.io/mirror
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
sudo systemctl daemon-reload
sudo service docker restart
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
docker: Error response from daemon: driver failed programming external connectivity on endpoint loving_bassi (37b4c399f676cf46e35fd26b2298ad81aac87739d8aee416f449e36c6cb22503): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 90 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
解决方式
-
pkill docker
iptables -t nat -F ifconfig docker0 down brctl delbr docker0 service docker restart
测试的dockerfile
FROM centos
LABEL maintainer="Chao Yu<yc_uuu@163.com>"
ADD CentOS-Base.repo /etc/yum.repos.d/
ADD epel.repo /etc/yum.repos.d/
RUN yum clean all
RUN yum install python-pip -y
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask
COPY myflask.py /app/
WORKDIR /app
EXPOSE 8080
CMD ["python","myflask.py"]
1.引入一个centos镜像,为基础镜像
2.作者注释信息
3.添加本地的两个yum文件,到容器的/etc/yum.repos.d/底下
4.清空yum缓存
5.yum安装pip工具
6.pip安装flask模块,指定清华源
7.拷贝本地的flask代码,到容器的/app/目录下
8.切换工作目录,到/app底下
9.暴露容器的8080端口,然后在运行镜像时候,加上-p参数,指定端口映射
10.执行命令,运行flask
docker images //查看所有的镜像
docker search 镜像名字 //查询镜像
docker pull 镜像名字:版本 //下载镜像
docker rmi -f 镜像ID //删除镜像
docker tag 70ff7873d7cd 镜像名称 //修改镜像tag名称
docker run -d -p 9200:9200 -p 9300:9300 //指定端口
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" //配置参数
--name es //别名
elasticsearch //镜像名称或者镜像ID
docker rename 镜像ID <new_container> //修改容器别名
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
docker ps //显示当前运行容器
docker ps -a //显示所有容器
exit //容器停止退出
ctrl+P+Q //容器不停止退出
docker start 容器ID //启动容器
docker restart 容器ID //重启容器
docker stop 容器ID //停止容器
docker kill 容器ID //强制停止容器
docker rm -f 容器ID //删除容器
docker logs -f --tail=30 容器ID //查看容器日志
docker top 容器ID //查看容器内运行的进程
docker exec -it 容器ID /bin/bash //进入容器
docker login
docker tag 1641 gyarmy/centos-gy-vim:v1
docker push gyarmy/centos-gy-vim:v1
docker search gyarmy
docker pull gyarmy/centos-gy-vim
# 如果设置了加速器,就需要修改为
docker pull registry.hub.docker.com/gyarmy/centos-gy-vim:v1
docker tag registry.hub.docker.com/gyarmy/centos-gy-vim:vim gyarmy/vim
0则评论给“docker笔记”