sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
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
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo docker run hello-world
参考连接:
CentOS Debian 安装html
pip -V
yum -y install epel-release yum -y install python-pip
pip install --upgrade pip
pip install docker-compose
参考连接:
CentOS7下安装Docker-Composepython
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://m3kj4rry.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
docker pull registry
mkdir /usr/local/csp_registry
docker run -d -p 5000:5000 --name=csp_registry --restart=always --privileged=true -v /usr/local/docker_registry:/var/lib/registry registry
解释:
-p 5000:5000 端口
--name=csp_registry 运行的容器名称
--restart=always 自动重启
--privileged=true centos7中的安全模块selinux把权限禁止了,加上这行是给容器增长执行权限
-v /usr/local/docker_registry:/var/lib/registry 把主机的/usr/local/docker_registry 目录挂载到registry容器的/var/lib/registry目录下,假若有删除容器操做,咱们的镜像也不会被删除linux
{ "insecure-registries":["主机的IP地址或者域名:5000"], "registry-mirrors": ["https://registry.docker-cn.com"] }
docker tag hello-world ip:port/hello-world
docker push ip:port/hello-world
docker rmi ip:port/hello-world docker rmi hello-world
docker pull ip:port/hello-world
参考连接 centos7 docker 搭建本地私有仓库docker
cd /usr/local mkdir ssl cd ssl openssl genrsa -out ca.key 2048 openssl req -new -key ca.key -out ca.csr openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
cd /usr/local mkdir auth docker run \ --entrypoint htpasswd \ registry -Bbn testuser testpassword > auth/htpasswd
注:testuser testpassword 表明 登陆的 用户和密码shell
docker run -d \ --restart=always \ --name registry \ -v /usr/local/auth:/auth \ -v /usr/local/ssl:/certs \ -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/server.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/server.key \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ -p 5000:5000 \ registry
docker login ip:port
# docker-compose.yml version: '3.1' services: registry: image: registry ports: - 5000:5000 environment: REGISTRY_HTTP_TLS_CERTIFICATE: /certs/server.crt REGISTRY_HTTP_TLS_KEY: /certs/server.key REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm volumes: - /usr/local/docker_registry:/var/lib/registry - /usr/local/ssl:/certs - /usr/local/auth:/auth
参考连接json