赞
踩
虚拟机:
sudo yum remove docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum -y install docker-ce
开始下载并安装 Docker ,稍等一会,系统正在下载
sudo systemctl start docker
docker info
sudo systemctl start docker
docker info
sudo systemctl enable docker
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
- docker search 镜像名称 //搜索镜像
- docker pull 镜像名称:版本号 //拉取对应版本的镜像
- docker pull 镜像名称 //默认拉取最新的镜像
- docker images //查看本地已下载的镜像
- docker ps //查看正在运行的容器
- docker ps -a //查看所有的容器(包括run、stop、exited状态的)
- docker container ls //查看正在运行的容器
- docker rm 容器ID //只能删除没有在运行的容器
- docker rm -f 容器ID //可以删除正在运行的容器
- docker run -p 本地主机端口号:容器服务端口号 --name 容器名字 [-e 配置信息修改] -d 镜像名字
- docker start 容器ID //启动容器
- docker stop 容器ID //终止容器
- docker rmi 镜像名称orID //删除镜像
- docker rmi 镜像名称orI --force //强制删除镜像
docker cp 需要拷贝的文件或目录容器名称:容器目录
- docker cp 容器名称:容器目录需要拷贝的文件或目录
- docker cp /1.txt redis:/ #把linux中的/1.txt文件,拷贝到redis容器中的 / 根目录 docker
- cp redis:/2.txt / #把redis容器中的 /2.txt ,拷贝到 linux的 / 根目录
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos2 centos:7
docker inspect mycentos2
docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos2
docker rm docker ps -a -q
docker attach 53
除了使用容器ID进入容器之外,也可以使用容器的别名进入容器:
docker attach java
docker exec -it java /bin/bash
docker exec -it 53 /bin/bash
docker search mysql
我们这里安装MySQL8.0 的,命令如下:
- docker pull mysql:8.0
- docker pull mysql //默认拉取最新版本
docker images mysql:8.0
- docker run -p 3307:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
- 参数说明:
- -p 将本地主机的端口映射到docker容器端口(因为本机的3306端口已被其它版本占用,所以使用3307)
- --name 容器名称命名
- -e 配置信息,配置root密码
- -d 镜像名称
docker ps
- docker exec -it mysql8.0 bash
- mysql -uroot -p
然后输入密码root就可以登录成功了
select version();
docker pull primetoninc/jdk:1.8
- docker run -d -it --name java primetoninc/jdk:1.8
- 参数说明:
- run:启动一个镜像容器
- -d:指定容器运行于后台
- -it:-i 和 -t 的缩写;
- -i:以交互模式运行容器,通常与 -t 同时使用
- -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
- --name:第一个“java”是为容器指定了一个别名,而第二个“java”指的是下载镜像时的名称
java -versrion
- pom依赖:
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
- http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>cn.test</groupId>
- <artifactId>DockerDemo</artifactId>
- <version>1.0-SNAPSHOT</version>
- <!--1、引入SpringBoot-->
- <parent>
- <groupId> org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>2.0.5.RELEASE</version>
- </parent>
- <dependencies>
- <!--web依赖-->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <version>2.3.5.RELEASE</version>
- <configuration>
- <!--自己手动导入的jar包也需要打包-->
- <includeSystemScope>true</includeSystemScope>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.12.4</version><configuration>
- <!--测试包下的代码出错不影响项目的编译-->
- <testFailureIgnore>true</testFailureIgnore>
- <!--跳过测试包代码-->
- <skipTests>true</skipTests>
- </configuration>
- </plugin>
- </plugins>
- <finalName>dockerDemo</finalName>
- </build>
- </project>
-
- @SpringBootApplication
- @EnableScheduling
- public class App {
- public static void main(String[] args){
- SpringApplication.run(App.class, args);
- }
- }
-
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import java.util.Date;
- @Component
- public class TestTask {
-
- @Scheduled(fixedRate = 2000)
- public void test(){
- System.out.println("定时任务:每隔两秒执行一次" + new Date());
- }
-
- }
- # jdk 是一个已有的包含 jdk 的镜像
- FROM java
- # 作者签名
- MAINTAINER libigtong
- # 简化 jar 的名字路径
- COPY dockerDemo.jar /app.jar
- # 执行 java -jar 命令 (CMD:在启动容器时才执行此行。RUN:构建镜像时就执行此行)
- CMD java -jar /app.jar
- # 设置对外端口为 8080
- EXPOSE 8080
- docker build -t docker_test:docker_demo -f /opt/dockerTest/Dockerfile
- /opt/dockerTest
docker run --name dockerApp -p 8080:8080 -d 28dae64bba9d
docker start cc7c3a1582d0
docker attach cc7c3a1582d0
docker stop cc7c3a1582d0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。