阿里云ECS-yum 安装docker

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wxb880114/article/details/82219701

yum 安装docker

  1. 移除老版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
  1. 设置资源库
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2


 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装docker-ce

sudo yum install docker-ce

  1. 查看docker

yum list docker-ce --showduplicates | sort -r

  1. 启动docker

sudo systemctl start docker

  1. 使用docker

sudo docker run hello-world

异常 1

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/create: dial unix /var/run/docker.sock: connect: permission denied.

解决方法

如果还没有 docker group 就添加一个:

sudo groupadd docker

将用户加入该 group 内。然后退出并重新登录就生效啦。

sudo gpasswd -a ${USER} docker

重启 docker 服务

sudo service docker restart

切换当前会话到新 group 或者重启 X 会话

newgrp - docker

修改docker容器端口映射的方法

  1. 停止容器
docker ps -a 获取容器id

docker stop 容器id
  1. 停止docker服务
systemctl stop docker
  1. 进入docker 容器id 文件路径
cd /var/lib/docker/containers/容器id

c9a2b3b6c6a45c064a7a0e9899dc5af052bb760c2ee6eadc8847b09594b67b77-json.log  

checkpoints  

config.v2.json  

hostconfig.json  

hostname  

hosts  

mounts  

resolv.conf  

resolv.conf.hash
  1. 修改hostconfig.json
cd /var/lib/docker/3b6ef264a040* #这里是CONTAINER ID
vi hostconfig.json
如果之前没有端口映射, 应该有这样的一段:
"PortBindings":{}
增加一个映射, 这样写:
"PortBindings":{"3306/tcp":[{"HostIp":"","HostPort":"3307"}]}
前一个数字是容器端口, 后一个是宿主机端口. 
而修改现有端口映射更简单, 把端口号改掉就行.
  1. 重启docker及容器

iptables 设置docker 端口映射

  1. 添加映射

iptables -t nat -A PREROUTING -d 172.16.39.73 -p tcp -m tcp --dport 1:65535 -j DNAT--to-destination 172.17.0.2:1-65535

  1. 查看映射

iptables -t nat -line-number

  1. 保存

iptables-save

  1. 删除映射

iptables -t nat -D ${name} ${line-number}

Get Docker CE for CentOS

如何免 sudo 使用 docker 修改docker容器端口映射的方法

欢迎大家一起加入讨论!!!

猜你喜欢

转载自blog.csdn.net/wxb880114/article/details/82219701