3.docker 中的nginx 安装:
3.1 拉去nginx
docker pull nginx:latest
3.2 创建nginx 容器
docker run -di --name=mynginx -p 8089:80 nginx
docker run -di --name=容器名字 -p 宿主机端口:容器端口 容器名称
[root@basenode ~]# docker run -di --name=mynginx -p 8089:80 nginx
7dadd6a15e8a5f44906e3637b1199eb84dfd76ec249dd15413fc61fd34e462fa
3.3 停止和删除这个 容器
# 停止nginx 容器
[root@basenode ~]# docker stop mynginx
mynginx
#删除这个容器
[root@basenode ~]# docker rm c8896b00a6c0cc3c9e3ef20746fd5330be4b5bbc734ab66d360badc1e3bc3352
c8896b00a6c0cc3c9e3ef20746fd5330be4b5bbc734ab66d360badc1e3bc3352
重启容器
[root@basenode ~]# docker restart c8896b00a6c0cc3c9e3ef20746fd5330be4b5bbc734ab66d360badc1e3bc3352
c8896b00a6c0cc3c9e3ef20746fd5330be4b5bbc734ab66d360badc1e3bc3352
3.4进入容器修改配置
命令:docker exec -it mynginx bash
[root@basenode ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7dadd6a15e8a nginx "/docker-entrypoint.…" 12 minutes ago Up 3 minutes 0.0.0.0:8089->80/tcp, :::8089->80/tcp mynginx
[root@basenode ~]# docker exec -it mynginx bash
root@7dadd6a15e8a:/# ls
bin boot dev docker-entrypoint.d docker-entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@7dadd6a15e8a:/# cd /etc/
3.4.1先安装 vim
apt-get update
: 这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
然后再执行 : apt-get install vim
然后就可以修改。
3.5 修改完重启就可以。
docker restart c8896b00a6c0cc3c9e3ef20746fd5330be4b5bbc734ab66d360badc1e3bc3352
4. 安装mysql8 实例:
docker pull mysql
4.1 启动容器
docker run -d --name=mysql8 -p 13308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
4.2 进入容器
docker exec -it mysql8 bash
4.3 修改mysql
1 .mysql -u root -p
2. alter user 'root'@'%' identified by 'Admin@12345' password expire never;
3. alter user 'root'@'%' identified with mysql_native_password by 'Admin@12345';
4. flush privileges;
然后用客户端连接
5.docker 的通用命令
5.1 进入容器命令: docker exec -it 容器名称 bash
5.2. 文件的拷贝
docker cp 需要拷贝的文件或目录 容器名称:容器目录
例如:
[root@basenode conf]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
176d9ef661cb mysql "docker-entrypoint.s…" 42 minutes ago Up 28 minutes 33060/tcp, 0.0.0.0:13306->3306/tcp, :::13306->3306/tcp 02mysql5.7
7dadd6a15e8a nginx "/docker-entrypoint.…" 2 hours ago Up About an hour 0.0.0.0:8089->80/tcp, :::8089->80/tcp mynginx
a11eac200b39 centos/mysql-57-centos7 "container-entrypoin…" 4 weeks ago Up 48 minutes 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp mysql5.7
[root@basenode conf]# docker cp flink-conf.yaml 02mysql5.7:/usr/local/
[root@basenode conf]# docker exec -it 02mysql5.7 bash
root@176d9ef661cb:/# cd /usr/local/
root@176d9ef661cb:/usr/local# ls
bin etc flink-conf.yaml games include lib man sbin share src
root@176d9ef661cb:/usr/local#
5.3 目录挂载
目录挂载: 在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。
# 创建并启动容器mycentos3,并挂载linux中的/usr/local/myhtml目录到容器的/usr/local/myhtml;也就是在linux中的/usr/local/myhtml中操作相当于对容器相应目录操作
docker run -di --name=容器的名字 -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7
比如:docker run -di --name=mycentos3 -v /usr/local/myhtml:/usr/local/myhtml centos:7
5.4 查看容器的ip
docker inspect 容器名称(容器ID)