> For the complete documentation index, see [llms.txt](https://krjaeh0.gitbook.io/j-log/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://krjaeh0.gitbook.io/j-log/cloud/cloud-devops/docker/docker-1/dockerpractice.md).

# DockerPractice

{% hint style="warning" %}
⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document.\
You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
{% endhint %}

## Code Block

{% code title="docker-compose.yml" %}

```yml
services:
  wordpress:
    image: wordpress:5.0.3-apache
    ports:
      - "80:80"
    depends_on:
      - mariadb
    environment:
      WORDPRESS_DB_HOST: mariadb
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    restart: always

  mariadb:
    image: mariadb:latest
    ports:
      - "3306:3306"
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: word123pass456
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    restart: always

volumes:
  db_data: {}
```

{% endcode %}

## Excalidraw Data

### Text Elements

\[mission 1]\
wordpress 5.x 이미지, 컨테이너 실행\
wordpress 머신에 웹페이지 제작 후 정상 접속 확인\
변경 사항을 포함한 이미지 생성 후 Docker Hub 업로드 후 확인 ^akFyW21k

* docker-compose.yml 파일을 통해 다수의 컨테이너 설정을 한번에 정의 ^F9BXZtX8
* docker compose up -d "docker-compose.yml 설정에 따라 컨테이너 실행" ^gjVC1h1s

docker image tag mariadb:latest krjaeh0/dockerhub\_test:mariadb\
docker image tag wordpress:5.0.3-apache krjaeh0/dockerhub\_test:wordpress\
docker image push krjaeh0/dockerhub\_test:mariadb\
docker image push krjaeh0/dockerhub\_test:wordpress ^JT0Gqz99

docker images ^Gk1oXGxd

이미지 이름 확인 ^OwYqIkB0

app 을 직접 도커hub에 업로드해 관리하는 것은 비효율적인 것 같다.\
app 구동환경(OS)에 시스템을 구축하고 OS를 Hub에 업로드해 관리하자 ^1M8UUnxq

### Element Links

dxLgULur: [Excalidraw/Docker\_실습.md#Code Block](file:///4956077/network/CloudSecurity.md)

### Embedded Files

fbbf718226f556a032878eeae68f70d9ab275dca: \[\[topics/assets/images/Pasted Image 20241202172817\_065.png]]

### Drawing (compressed-json)

<details>

<summary>Show compressed JSON drawing data</summary>

```compressed-json
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
```

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://krjaeh0.gitbook.io/j-log/cloud/cloud-devops/docker/docker-1/dockerpractice.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
