下载docker安装依赖包
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
安装docker
$ sudo yum install docker
安装完成后,验证是否安装成功
$ docker version
如果出现最下面的:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
则说明,你的docker服务还没有启动
$ docker version
Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:03:45 2020
OS/Arch: linux/amd64
Experimental: false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
运行docker
$ systemctl daemon-reload
$ systemctl restart docker.service
安装镜像
由于项目需要centos系统,所以我安装的是centos的镜像
先搜索镜像
$ docker search centOS
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 6204 [OK]
ansible/centos7-ansible Ansible on Centos7 132 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC session… 122 [OK]
jdeathe/centos-ssh OpenSSH / Supervisor / EPEL/IUS/SCL Repos - … 115 [OK]
centos/systemd systemd enabled base container. 86 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 83
imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 58 [OK]
tutum/centos Simple CentOS docker image with SSH access 47
centos/postgresql-96-centos7 PostgreSQL is an advanced Object-Relational … 46
kinogmt/centos-ssh CentOS with SSH 29 [OK]
pivotaldata/centos-gpdb-dev CentOS image for GPDB development. Tag names… 13
guyton/centos6 From official centos6 container with full up… 10 [OK]
centos/tools Docker image that has systems administration… 6 [OK]
drecom/centos-ruby centos ruby 6 [OK]
pivotaldata/centos Base centos, freshened up a little with a Do… 5
darksheer/centos Base Centos Image -- Updated hourly 3 [OK]
mamohr/centos-java Oracle Java 8 Docker image based on Centos 7 3 [OK]
pivotaldata/centos-gcc-toolchain CentOS with a toolchain, but unaffiliated wi… 3
pivotaldata/centos-mingw Using the mingw toolchain to cross-compile t… 3
mcnaughton/centos-base centos base image 1 [OK]
indigo/centos-maven Vanilla CentOS 7 with Oracle Java Developmen… 1 [OK]
blacklabelops/centos CentOS Base Image! Built and Updates Daily! 1 [OK]
pivotaldata/centos7-dev CentosOS 7 image for GPDB development 0
smartentry/centos centos with smartentry 0 [OK]
pivotaldata/centos6.8-dev CentosOS 6.8 image for GPDB development 0
拉取最新的centos镜像
docker pull centos:latest
下载完成后,查看本地镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0d120b6ccaa8 6 weeks ago 215MB
下载完成镜像后,可以启动镜像了。注意:latest为镜像标签,如果没有写标签,默认启动latest标签的镜像。
$ docker run -t -i centos:latest /bin/bash
[root@4c07bc8594ca /]#
docker启动完成后,就可以在镜像中安装我们需要的插件和部署服务了。
这里说一下向docker传输文件的方法
#docker向宿主机传输文件
$ docker cp container_id:<docker容器内的路径> <本地保存文件的路径>
#宿主机向docker传输文件
$ docker cp 本地文件的路径 container_id:<docker容器内的路径>
退出docker,输入Crtl+P,然后输入Crtl+q,退出容器,但是不关闭容器。exit退出并关闭容器。
重新进入容器
# 首先查看当前启动的容器id
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e1d32652d058 centos "/bin/bash" 6 seconds ago Up 4 seconds distracted_lamport
# 进入容器
$ docker attach -it 容器ID /bin/bash
制作自己的docker镜像
$ docker commit e1d32652d058 centos:latest