哈特中尉's Blog

不会写代码的司机不是好厨师!

docker基础操作

安装docker

1
2
3
4
5
6
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker
systemctl enable docker
docker version

安装portainer

1
2
docker pull portainer/portainer
docker run -p 9000:9000 --name prtainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -d portainer/portainer

安装mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
docker images |grep mysql
docker pull mysql
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6



# docker 中下载 mysql
docker pull mysql

#启动
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Lzslov123! -d mysql

#进入容器
docker exec -it mysql bash

#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lzslov123!';

#添加远程登录用户
CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY 'Lzslov123!';
GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';

常用命令

  • 查看当前正在运行的容器
    1
    docker ps 
  • 查看所有容器的状态
    1
    docker ps -a
  • 启动/停止某个容器
    1
    2
    3
    4
    5
    docker start id 
    docker start name

    docker stop id
    docker stop name
  • 进入某个容器(使用exit退出后容器也跟着停止运行)
    1
    docker attach id 
  • 启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)
    1
    docker exec -ti id 
  • 查看本地镜像
    1
    docker images 

删除某个容器

1
docker rm id/name

删除某个镜像

1
docker rmi id/name 
  • 复制ubuntu容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash
    1
    docker run --name test -ti ubuntu /bin/bash 
  • 通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像
    1
    docker build -t soar/centos:7.1
  • 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变
    1
    docker run -d -p 2222:22 --name test soar/centos:7.1