1.安装

    yum -y install docker

2.启动        
         sudo systemctl start docker
        说明:如果启动安装成功,启动失败,可以参考  https://blog.csdn.net/qq_1365462762/article/details/80623524

3.获取镜像
docker pull [选项] [Docker Registry地址]<仓库名>:<标签>

例如:docker pull postgres:9.4
        镜像仓库:https://hub.docker.com/r/fishgylk/showdoc/

4.列出镜像
        docker images [OPTIONS] [REPOSITORY[:TAG]]
        例如:docker images  -a

5.创建容器并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
例如:sudo docker run -i -t -d --name es-dcs-webapp -p 1081:8081 b24c5eee68da8 /bin/bash
说明:1081为外部访问端口,8081是内部启动端口(如es-dcs-api容器里面启动的项目的locallhost:8081端口)

b24c5eee68da8 镜像id(也可用镜像名称,我的是jdk镜像)

6.进入容器,并创建文件
        进入容器 sudo docker exec -it es-dcs-webapp /bin/bash
        创建文件 cd /home mkdir es

7.将宿主机(安装docker的那个系统)上的项目 jar包复制到 docker容器上。
退出容器    exit
将jar包复制过来
sudo docker cp /home/emis/es-dcs-webapp-2.0-RELEASE.jar 17baf12b5309:/home/es
说明:17baf12b5309 容器id
进入容器该项目jar包处,并运行它
sudo docker exec -it es-dcs-webapp /bin/bash        进入容器
cd /home/es                进入项目目录
java -jar es-dcs-webapp-2.0-RELEASE.jar        运行项目jar包
注:java -jar es-dcs-webapp-2.0-RELEASE.jar这条命令,只要按ctrl+c便可结束运行

java -jar es-dcs-webapp-2.0-RELEASE.jar & 这条命令,可后台执行,通过结束进程或其它方式结束运行

8.访问地址:linux系统ip地址+创建容器时的第一个端口,本次案例是 10.205.**.*:1081


扩展:容器间通信
通机容器间的数据访问,如将一个项目部署到docker中,这个项目中需要访问的数据库也在这台服务器中另一个容器中,
甚至一个项目分为多个模块,一个模块一个容器,多个模块间相互访问,同时,也需要访问容器中的数据库,这就涉及到docker容器间的通信。
使用link机制解决这个问题。在创建容器的时候就说明,两个或多个容器可以通信,具体如下:
(1)先创建被访问数据的容器

        docker run --name postgres1 -e POSTGRES_PASSWORD=password -p 5432:5432 -d postgres:9.4
        说明:创建pgsql容器,创建pgsql容器参考https://blog.csdn.net/liuyueyi1995/article/details/61204205
        sudo docker run -i -t -d --name es-dcs-api -p 1081:8081 b24c5ee68da8 /bin/bash
        说明:b24c5ee68da8 镜像id,我的是jdk

(2)再创建需要访问es-dcs-api容器的容器
        sudo docker run -itd --name es-ecs-api -p 1091:9091 --link pgsql:db --link es-dcs-api:dcs-ecs-api b24c5ee68da8     /bin/bash
        说明:es-ecs-api 容器名称        1091:9091        --link pgsql:db     如url: jdbc:postgresql://localhost:5432/es 改为    url: jdbc:postgresql://db:5432/es
        1091:9091 1091外部访问端口,9091项目启动端口

        --link pgsql:db 与名为pgsql的容器通信,db,pgsql别名,注意:在项目启动配置中,连接数据库的地址要改为 db,    例如url: jdbc:postgresql://localhost:5432/es 改为url: jdbc:postgresql://db:5432/es

(3)先后启动各自容器的项目即可

常用命令:

yum -y install docker 安装docker
sudo systemctl start docker 启动docker
docker pull postgres:9.4 获取镜像
sudo docker ps -a 查看全部容器
sudo docker images 查看docker全部镜像
docker tag name1 name2 重命名镜像
docker rmi iamgeName 删除镜像,不可删除正在使用的镜像,可加 f进行强删
docker save /path/imagesName imagesName 导出镜像
docker load imagesName 导入镜像
docker run -i -t -d -name dockerName -p 9080:9090 imageIdOrImageName /bin/bash 创建并运行容器
docker rename oldDockerName newDockerName 重命名容器
docker rm dockerName 删除容器
sudo docker ps 查看已启动的docker容器
sudo docker stop dockerNameOrDockerId 停止容器
sudo docker start dockerNameOrDockerId 启动容器
sudo docker exec -it dockerId 进入容器
sudo docker cp /home/es.jar dockerId:/home/es 将宿主机jar包复制到docker目录中
sudo 
mkdir 文件名 新建文件夹

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐